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

gstyhher  于 2021-06-21  发布在  Mysql
关注(0)|答案(2)|浏览(241)

我有当前表格:

mysql> DESCRIBE Test_tuto

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

但是当我尝试在auto\u increment列中添加默认值时

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

我得到这个错误。

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

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

mf98qq94

mf98qq941#

使用此sql查询语法。

ALTER TABLE table_name
MODIFY COLUMN column_name datatype;

你的问题解决了。
请检查此链接以解决您的问题。
在此处输入链接说明

lmvvr0a8

lmvvr0a82#

所写的问题并不清楚,因为正如barmar指出的那样,auto increment是列的默认值。
也许您想控制自动递增列的起始位置。当然,这个值是从“1”开始的,所以具体的问题是不相关的。但您可以通过执行以下操作来设置初始值或下一个值:

alter table test_tuto auto_increment = 1;

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

相关问题