我試圖運行此查詢:如何刪除主鍵?我得到不正確的表定義
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