mysql将自动编号分配给非主键列

时间:2009-12-14 14:47:15

标签: sql mysql duplicate-removal

我有一个包含列的表

  1. cid(客户ID)
  2. cemail(客户电子邮件)
  3. cfax(客户电子邮件)
  4. cname(客户名称)
  5. 现在我希望cid,cemail,cfax应该没有重复,因为我这样做,所有这些都作为主键,但如果只有一个值是不同的数据库接受数据,我希望它应该检查所有值我应该是什么现在做什么?

2 个答案:

答案 0 :(得分:1)

您应该在这些字段中创建unique index

就像一个简单的例子(未经测试):

CREATE UNIQUE INDEX my_index ON my_table(cemail, cfax, cname);

答案 1 :(得分:0)

CREATE TABLE `customers` (
  `cid` int NOT NULL auto_increment,
  `cemail` varchar(123) NOT NULL,
  `cfax` varchar(123) NOT NULL,
  `cname` varchar(123) NOT NULL,
  PRIMARY KEY  (`cid`),
  UNIQUE KEY `cemail` (`cemail`,`cfax`,`cname`)
);