2010-02-20 48 views
3

我有一些記錄需要存儲在數據庫表中,我想根據name字段區分一條記錄與其他記錄。如何在數據庫表中區分彼此的行?

但是,由於名稱字段的數據類型爲varchar,它會影響性能,因爲比較varchar數據相對於數字字段比較耗費時間。

所以我希望每個記錄都有唯一的數字字段(比如說id)。但是,如果我將id作爲主鍵,則多條記錄可以包含相同的name

上述問題的解決方案是什麼?

回答

4

,您仍然可以在name場創建UNIQUE約束:

ALTER TABLE your_table ADD UNIQUE (name); 

UNIQUE約束,像PRIMARY KEY約束,將保證您的列將包含唯一的值。

請注意,每個表可以有許多UNIQUE約束,但只有一個PRIMARY KEY約束。

+0

+1 .......謝謝 – 2010-02-20 09:32:36

+0

你可以看看這個問題在http://stackoverflow.com/questions/2301691/what-datatype-to-use-for-a-field-that-可以-含有-a值從 - 預定義值 – 2010-02-20 09:37:06