2010-10-12 65 views

回答

4

你必須改變你的PK列,以便它沒有AUTO_INCREMENT修改了。

+0

@Anzeo:不,他沒有。他只是刪除主鍵索引。 – oezi 2010-10-12 08:06:10

+0

@oezi,yup注意到我是不正確的,沒有注意到你已經對我的評論 – thomaux 2010-10-12 08:07:49

0

首先,如果我是正確的,你正在定義一個複合鍵?這通常是不好的做法。最好有一個額外的ID列,並添加一個單獨的約束來檢查你有一個獨特的組合。正如codymanix所建議的那樣,您需要先將列更改爲不再具有auto_increment,然後將其刪除。

+1

回覆爲「這通常是不好的做法」:呃...不?關於n-m關係的鏈接表(如同一個例子)呢? – oezi 2010-10-12 08:08:47

+0

請參閱http://stackoverflow.com/questions/1264248/database-design-composite-key-vs-one-column-primary-key/1264256#1264256進行論證 – thomaux 2010-10-12 09:39:37

1

你必須在3(或4)步驟來做到這一點:

  1. 從當前的主鍵
  2. 下降去掉「自動incremet」屬性主鍵
  3. 設置新的主鍵
  4. (復位 「auto_incremet」 你的耳鼻喉科主鍵列)

編輯:也許設置一個新的主要不是你真正想做的事情。請看看unique indexes - 我認爲你想要在其他專欄上設置它們,以確保它們不會出現一次以上。