2009-11-03 44 views
1

假設我有2個字段:first_namelast_name如何確保mysql表中沒有重複項?

可以將名字重複或姓氏重複,但是,如果first_namelast_name都相同,請勿插入!這就像2個獨特的鑰匙,鏈接。

回答

1

如果該表已經存在,那麼你可以改變它來添加複合唯一鍵:

ALTER `table_name` ADD UNIQUE (`first_name`,`last_name`); 
1

所有你需要的是結合了這兩個字段的索引。下面是一個示例表定義:

CREATE TABLE IF NOT EXISTS `people` (
    `first` varchar(30) NOT NULL, 
    `last` varchar(30) NOT NULL, 
    UNIQUE KEY `myIndex` (`first`,`last`) 
) ENGINE=InnoDB DEFAULT CHARSET=utf8; 
2

創建的結合領域唯一索引:

ALTER `mytable` ADD UNIQUE (`first_name`,`last_name`); 
+1

wat是「用戶」? SD – TIMEX 2009-11-03 09:56:30

1

你可以通過添加一個唯一約束:

CREATE TABLE People 
(
    First_Name VARCHAR(32), 
    Last_Name VARCHAR(32), 
    UNIQUE (First_name, Last_Name) 
); 
1

你只需要添加與這兩個字段組成的唯一索引到您的表中:

ALTER TABLE `your_table` ADD UNIQUE `uniq_name` (`First_name` , `Last_name`)