我可以设置在 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
的文档中有描述。
我有当前的 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
的文档中有描述。