如何确保mysql表中没有重复项?

时间:2009-11-03 09:50:38

标签: sql mysql

假设我有两个字段:first_namelast_name

可以使用名字副本或姓氏重复,但是,如果first_namelast_name相同,请勿插入!它就像2个独特的键,链接。

5 个答案:

答案 0 :(得分:2)

在组合字段上创建唯一索引:

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

答案 1 :(得分:1)

如果表已存在,则可以更改它以添加复合唯一键:

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

答案 2 :(得分: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;

答案 3 :(得分:1)

您可以通过添加唯一约束来实现:

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

答案 4 :(得分:1)

您只需将由这两个字段组成的唯一索引添加到您的表中:

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