gpt4 book ai didi

sql - 如何将 SQL 中的主键更改为 auto_increment?

转载 作者:可可西里 更新时间:2023-11-01 06:44:20 25 4
gpt4 key购买 nike

我在 MySQL 中有一个表有一个主键:

mysql> desc gifts;
+---------------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+---------------+-------------+------+-----+---------+-------+
| giftID | int(11) | NO | PRI | NULL | |
| name | varchar(80) | YES | | NULL | |
| filename | varchar(80) | YES | | NULL | |
| effectiveTime | datetime | YES | | NULL | |
+---------------+-------------+------+-----+---------+-------+

但我想让它自动递增。

以下语句失败。如何修改它才能工作?谢谢

mysql> alter table gifts modify giftID int primary key auto_increment;
ERROR 1068 (42000): Multiple primary key defined

最佳答案

去掉 primary key 属性:

ALTER TABLE gifts MODIFY giftID INT AUTO_INCREMENT;

某些列属性,例如 PRIMARY KEY,与其说是其他事物的快捷方式,不如说是列的确切属性。例如,标记为 PRIMARY KEY 的列位于 PRIMARY 索引中。此外,PRIMARY 索引中的所有列都被赋予了 NOT NULL 属性。 (另外:要拥有多列主键,您必须使用单独的约束子句而不是多个 PRIMARY KEY 列属性。)由于该列已经在 PRIMARY 中索引,修改列时不需要再指定。尝试 SHOW CREATE TABLE gifts; 以查看使用 PRIMARY KEY 属性的影响。

关于sql - 如何将 SQL 中的主键更改为 auto_increment?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2704339/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com