2013-03-12 95 views
1

我有一个“用户”表中包含id(PK,auto_increment),名称,电子邮件(唯一),cpf(唯一),以及其他不太重要的字段。要添加用户,我提供了所有这些表中的数据,但显然是id。 CPF是一种巴西身份证件。插入忽略没有主键

我需要添加一个用户,如果它不存在我的表上,我不能覆盖。我GOOGLE了一下,发现了INSERT IGNORE。但是,如果我没有这个id,这怎么会知道用户是否存在,这是我唯一的主键?我怎么可以向INSERT“教导”这些独特的领域还可以进行比较?

谢谢!

回答

1

您将需要在cpf列上创建一个unique索引。 然后,您的插入忽略查询将检查每个插入的重复cpf标识符。 有关处理重复插入的更好方法的更多信息,请参阅:"INSERT IGNORE" vs "INSERT ... ON DUPLICATE KEY UPDATE"

+0

CPF已具有唯一索引。那么INSERT IGNORE会照原样运作吗? – 2013-03-12 17:03:01