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

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

我有当前表格:

  1. mysql> DESCRIBE Test_tuto
  2. +-------+-------------+------+-----+---------+-------+
  3. | Field | Type | Null | Key | Default | Extra |
  4. +-------+-------------+------+-----+---------+-------+
  5. | id | int(11) | NO | PRI | 0 | |
  6. | nom | varchar(30) | NO | | NULL | |
  7. +-------+-------------+------+-----+---------+-------+

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

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

我得到这个错误。

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

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

mf98qq94

mf98qq941#

使用此sql查询语法。

  1. ALTER TABLE table_name
  2. MODIFY COLUMN column_name datatype;

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

lmvvr0a8

lmvvr0a82#

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

  1. alter table test_tuto auto_increment = 1;

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

相关问题