MySQL中的主键请求

Posted

技术标签:

【中文标题】MySQL中的主键请求【英文标题】:Primary key request in MySQL 【发布时间】:2021-06-12 23:24:36 【问题描述】:

我使用了这段代码,但是它显示了无法识别的更改操作,并且该键也无法识别。

ALTER TABLE `ecommerce`.`users` (id INT(11) NOT NULL, PRIMARY-KEY AUTO_INCREMENT); 

【问题讨论】:

看看documentation中的MODIFY,也许有帮助 【参考方案1】:

正确的语法是:

ALTER TABLE ecommerce.users add column id INT AUTO_INCREMENT PRIMARY KEY;

Here 是一个 dbfiddle。

编辑:

我意识到 OP 可能已经有该列并想要替换定义。这适用于这种语法:

ALTER TABLE users modify column id INT AUTO_INCREMENT PRIMARY KEY;

Here 是这个 dbfiddle。

【讨论】:

【参考方案2】:

您可以在创建表时指定主键,也可以在创建表后通过更改表添加主键

创建表时

create table info(id int primary key,Name varchar(25),dept varchar(25));
create table info(id int,Name varchar(25),dept varchar(25),primary key(id));

建表后

alter table info add primary key(id);

【讨论】:

请检查您的拼写。考虑在发布之前测试代码。

以上是关于MySQL中的主键请求的主要内容,如果未能解决你的问题,请参考以下文章

mysql的主键是自动增长的,oracle的主键是起啥作用的

谈谈mysql的主键和外键

外键指的是同一张表Mysql中的主键

我想将初始值设置为也设置为自动增量选项的主键,例如它从 mysql 中的值 7899 开始? [复制]

hibernate中的主键生成策略

hibernate中的主键生成策略