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

时间:2018-04-21 10:58:31

标签: mysql sql auto-increment default-value

我有当前的表格:

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'

我发现很多关于如何在列上设置默认值的文章,但没有提到这种情况。

2 个答案:

答案 0 :(得分:0)

使用此SQL查询语法。

ALTER TABLE table_name
MODIFY COLUMN column_name datatype;

你的问题解决了。

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

enter link description here

答案 1 :(得分:0)

写的问题不明确,因为 - 正如Barmar所指出的那样 - 自动增量 是该列的默认值。

也许您想控制自动增量列的开始位置。当然,值从“1”开始,因此具体问题不相关。但您可以通过执行以下操作设置初始值 - 或下一个值:

alter table test_tuto auto_increment = 1;

create table的文档中对此进行了描述。