繁体   English   中英

更改表添加主键无法识别 MySQL

[英]Alter table add primary key not recognised MySQL

我正在尝试运行语句ALTER TABLE invoice_partitioned DROP PRIMARY KEY, ADD PRIMARY KEY(invoice_partitioned.id, invoice_partitioned.department_code);

运行时会产生语法错误(错误代码 1064)。 MySQL Workbench 突出显示了 ADD PRIMARY KEY 之后的括号,并显示消息 '"(" is not valid at this position for this server version'。

有没有办法解决这个问题? 我在 MySQL 社区服务器 8.0.19

例如,如果我们有一张桌子:

create table invoice_partitioned (id int
                                  , department_code INT
                                  , primary key(ID));

那么方法是这样的:

ALTER TABLE invoice_partitioned DROP PRIMARY KEY;

ALTER TABLE invoice_partitioned ADD PRIMARY KEY(id, department_code);

这是一个演示

这也将起作用:

ALTER TABLE invoice_partitioned
DROP PRIMARY KEY,
ADD PRIMARY KEY(id, department_code);

演示

你可以用一个语句来完成

只是不要在列名之前添加表名,如下所示

代替

ALTER TABLE invoice_partitioned DROP PRIMARY KEY, ADD PRIMARY KEY(invoice_partitioned.id, invoice_partitioned.department_code);

对此

ALTER TABLE invoice_partitioned DROP PRIMARY KEY, ADD PRIMARY KEY (id, department_code);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM