2017-02-21 33 views
0

这是我的表格。 ID预期的那样主键和自动填充错误1364(HY000):字段'id'没有默认值

mysql> DESCRIBE test_table 
-> ; 
+-------+--------------+------+-----+---------+-------+ 
| Field | Type   | Null | Key | Default | Extra | 
+-------+--------------+------+-----+---------+-------+ 
| id | int(8)  | NO | PRI | NULL |  | 
| name | varchar(256) | YES |  | NULL |  | 
| phone | varchar(20) | YES |  | NULL |  | 
+-------+--------------+------+-----+---------+-------+ 
3 rows in set (0.00 sec) 

然而,当我插入数据这样

mysql> INSERT INTO test_table (name, phone) VALUES ('Nikita', '26908050'); 

它返回错误,该ID不具有默认值。

ERROR 1364 (HY000): Field 'id' doesn't have a default value 

我怎么能告诉MySQL该ID必须以0开始,increese每个东西被添加到TEST_TABLE时间?

+0

而不是使用'的DESCRIBE'你应该张贴SHOW的'结果CREATE TABLE test_table'。 –

回答

0

该字段id要求AUTO_INCREMENT属性。否则,它是未定义的,这就是错误信息所说的。

See here for full documentation and example.

如果要修改一个已经存在的表,请使用以下命令:

ALTER TABLE test_table CHANGE id id INT(8) AUTO_INCREMENT PRIMARY KEY; 
相关问题