我可以设置在 MySQL 时自动递增的 id 的默认整数值吗?

Can I set a default integer value of an id that is auto incremented on MySQL?

我有当前的 table :

mysql> DESCRIBE Test_tuto

+-------+-------------+------+-----+---------+-------+
| Field | Type        | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| id    | int(11)     | NO   | PRI | 0       |       |
| nom   | varchar(30) | NO   |     | NULL    |       |
+-------+-------------+------+-----+---------+-------+

但是当我尝试在 AUTO_INCREMENT 列上添加默认值时

mysql> ALTER TABLE Test_tuto CHANGE id id INT NOT NULL DEFAULT 1 AUTO_INCREMENT

我收到这个错误。

ERROR 1067 (42000): Invalid default value for 'id'

我找到了很多关于如何为列设置默认值的文章,但没有一篇提到这种情况。

使用此 SQL 查询语法。

ALTER TABLE table_name
MODIFY COLUMN column_name datatype;

您的问题已解决。

请检查此 link 以解决您的问题。

enter link description here

所写的问题不清楚,因为——正如 Barmar 指出的那样——自动递增 列的默认值。

也许您想控制自动递增列的起始位置。当然,数值是从“1”开始的,所以具体问题不相关。但是您可以通过以下方式设置初始值——或下一个值:

alter table test_tuto auto_increment = 1;

这在 create table 的文档中有描述。