![](/img/trans.png)
[英]Mysql Alter command how to alter the existing table to add the primary key
[英]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.