2010-11-30 63 views

回答

4

只需在列上使用UNIQUE索引。請參閱:

http://dev.mysql.com/doc/refman/5.1/en/create-index.html

的唯一索引創建約束 使得索引中的所有值必須 是不同的。如果您嘗試使用與現有行匹配的鍵值 添加新行,您會發生錯誤。對於所有 引擎,UNIQUE索引允許 對於 可以包含NULL的列允許多個NULL值。如果您爲UNIQUE 索引中的列指定 的前綴值,則在前綴內的列值必須爲 。

2

它可以爲空(而非空白)並且是唯一的。默認值可以爲null。對我來說沒有問題。

1

您可以在表上創建一個UNIQUE索引。在創建/編輯表格時,在UQ複選框的MySQL工作臺中。

0

第1步,ALTER該表和MODIFY該字段允許使用NULL

ALTER TABLE my_table MODIFY my_field VARCHAR(100) NULL DEFAULT NULL; 

第2步,在該字段中添加一個UNIQUE索引。

ALTER TABLE my_table ADD UNIQUE INDEX U_my_field (my_field); 

它的優良使用 - 我唯一的猶豫與把一個UNIQUE指數可爲空的字段是不是認爲乍一看略有反直覺。

0

1)將列移動到一個新表中,使其唯一且不可爲空。只有當你有一個值時,你纔可以在這個新表中有一行。

2)是的。密鑰和密鑰依賴關係是關係數據庫設計中數據完整性的基礎。如果一個屬性應該是唯一的,那麼它應該被實現爲一個關鍵字。可以爲空的「鍵」根本就不是一個關鍵字,反正也不是必須的,因爲它總是可以移動到一個新表中,並且在不丟失任何信息的情況下不可刪除。

相關問題