我知道布尔在MySQL作为tinyint (1) 。 今天我看到一个定义了一个像tinyint(2)这样的整数表,还有一些像int(4) , int(6) … 整数和tinyint字段的大小是什么意思?
我有一个表的主键在其他几个表中使用,并有几个外键到其他表。 CREATE TABLE location ( locationID INT NOT NULL AUTO_INCREMENT PRIMARY KEY … ) ENGINE = InnoDB; CREATE TABLE assignment ( assignmentID INT NOT NULL AUTO_INCREMENT PRIMARY KEY, locationID INT NOT NULL, FOREIGN KEY locationIDX (locationID) REFERENCES location (locationID) … ) ENGINE = InnoDB; CREATE TABLE assignmentStuff ( … assignmentID INT NOT NULL, FOREIGN KEY […]
我知道如何在下面的代码中使用INDEX。 而且我知道如何使用外键和主键。 CREATE TABLE tasks ( task_id INT UNSIGNED NOT NULL AUTO_INCREMENT, parent_id INT UNSIGNED NOT NULL DEFAULT 0, task VARCHAR(100) NOT NULL, date_added TIMESTAMP NOT NULL, date_completed TIMESTAMP, PRIMARY KEY (task_id), INDEX parent (parent_id), …. 但是,我发现一个代码使用KEY而不是INDEX如下。 … KEY order_date (order_date) … 我无法在MySQL官方页面find任何文档。 谁能告诉我KEY和INDEX的区别是什么? 我可以看到不同的是,当我使用KEY …时,我需要重复该单词,例如KEY order_date(order_date)。
我使用varchar(36)还是有更好的方法来做到这一点?
我想知道我的MySQL数据库使用多less空间,以select一个Web主机。 我发现命令SHOW TABLE STATUS LIKE 'table_name'所以当我做查询时,我得到这样的东西: Name | Rows | Avg. Row Length | Data_Length | Index Length ———- —- ————— ———– ———— table_name 400 55 362000 66560 数字四舍五入。 那么对于这个表,我有362000或400 * 362000 = 144800000字节的数据? 索引长度是什么意思? 谢谢 !
什么是最好的方法来检查一个表是否存在于MySQL中(最好通过PHP中的PDO)而不会抛出exception。 我不想parsing“SHOW TABLES LIKE”等的结果。 必须有某种布尔查询?
如果您尝试在表上创build一个TEXT列,并在MySQL中给它一个默认值,那么会出现错误(至less在Windows上)。 我看不到为什么文本列不应该有默认值的任何原因。 MySQL文档没有给出解释。 这对我来说似乎是不合逻辑的(有点令人沮丧,因为我想要一个默认值!)。 有人知道为什么这是不允许的?
如何在MySQL中使用更新查询设置多个表的列?
我有一个名为test的mySQL表: create table test( locationExpect varchar(120) NOT NULL; ); 我想要将locationExpect列更改为: create table test( locationExpect varchar(120); ); 如何快速完成?
是否有可能将我的默认MySQL数据目录更改为另一个path? 我能够从旧位置访问数据库吗?