错误 1364 (HY000):字段“id”没有默认值

Цун*_*ита 1 mysql

这是我的桌子。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)
Run Code Online (Sandbox Code Playgroud)

但是,当我以这种方式插入数据时

mysql> INSERT INTO test_table (name, phone) VALUES ('Nikita', '26908050');
Run Code Online (Sandbox Code Playgroud)

它返回错误,该 id 没有默认值。

ERROR 1364 (HY000): Field 'id' doesn't have a default value
Run Code Online (Sandbox Code Playgroud)

我如何告诉 MySQL id 必须以 0 开头,并且每次向 test_table 添加内容时都会增加?

koa*_*alo 6

该字段id需要AUTO_INCREMENT属性。否则,它是未定义的,这就是错误消息的内容。

请参阅此处以获取完整的文档和示例。

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

ALTER TABLE test_table CHANGE id id INT(8) AUTO_INCREMENT PRIMARY KEY;
Run Code Online (Sandbox Code Playgroud)