我有当前的表格:
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'
我发现很多关于如何在列上设置默认值的文章,但没有提到这种情况。
答案 0 :(得分:0)
使用此SQL查询语法。
ALTER TABLE table_name
MODIFY COLUMN column_name datatype;
你的问题解决了。
请检查此链接以解决您的问题。
答案 1 :(得分:0)
写的问题不明确,因为 - 正如Barmar所指出的那样 - 自动增量 是该列的默认值。
也许您想控制自动增量列的开始位置。当然,值从“1”开始,因此具体问题不相关。但您可以通过执行以下操作设置初始值 - 或下一个值:
alter table test_tuto auto_increment = 1;
create table
的文档中对此进行了描述。