Py学习  »  DATABASE

Alter table add主键无法识别MySQL

Cirrus86 • 5 年前 • 1455 次点击  

我在试着运行声明 ALTER TABLE invoice_partitioned DROP PRIMARY KEY, ADD PRIMARY KEY(invoice_partitioned.id, invoice_partitioned.department_code);

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

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/55372
 
1455 次点击  
文章 [ 2 ]  |  最新文章 5 年前
bhuvnesh pattnaik
Reply   •   1 楼
bhuvnesh pattnaik    5 年前

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

代替

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);
VBoka
Reply   •   2 楼
VBoka    5 年前

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

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);

Here is a demo

这也将起作用:

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

Demo