2009-11-03 22 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`)