在没有主键的情况下插入ignore

时间:2013-03-12 16:58:14

标签: mysql insert

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

我需要添加一个用户,如果我的桌子上不存在,我就无法覆盖。我用谷歌搜索,发现了INSERT IGNORE。但是,如果我没有id,这怎么会知道用户是否存在,这是我唯一的主键?我如何“教”INSERT这些独特的字段也可以进行比较?

谢谢!

1 个答案:

答案 0 :(得分:1)

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