我试图运行此查询:如何删除主键?我得到不正确的表定义
ALTER TABLE table DROP PRIMARY KEY, ADD PRIMARY KEY(`CUSTNO` , `DEPTNO` , `PRODNO` , `DT`);
我得到
Incorrect table definition; there can be only one auto column and it must be defined as a key
我试图运行此查询:如何删除主键?我得到不正确的表定义
ALTER TABLE table DROP PRIMARY KEY, ADD PRIMARY KEY(`CUSTNO` , `DEPTNO` , `PRODNO` , `DT`);
我得到
Incorrect table definition; there can be only one auto column and it must be defined as a key
你必须改变你的PK列,以便它没有AUTO_INCREMENT修改了。
首先,如果我是正确的,你正在定义一个复合键?这通常是不好的做法。最好有一个额外的ID列,并添加一个单独的约束来检查你有一个独特的组合。正如codymanix所建议的那样,您需要先将列更改为不再具有auto_increment,然后将其删除。
你必须在3(或4)步骤来做到这一点:
编辑:也许设置一个新的主要不是你真正想做的事情。请看看unique indexes - 我认为你想要在其他专栏上设置它们,以确保它们不会出现一次以上。
@Anzeo:不,他没有。他只是删除主键索引。 – oezi 2010-10-12 08:06:10
@oezi,yup注意到我是不正确的,没有注意到你已经对我的评论 – thomaux 2010-10-12 08:07:49