新手求助避免向数据库插入重复数据的SQL语句

新手求助避免向数据库插入重复数据的SQL语句,第1张

使用ignore关键字

如果是用主键primary或者唯一索引unique区分了记录的唯一性,避免重复插入记录可以使用:

复制代码 代码如下:

INSERT IGNORE INTO `table_name` (`email`, `phone`, `user_id`) VALUES ('test9@163.com', '99999', '9999')

INSERT INTO persion_results( PName , Dossol , LJID , Ptype , PWorker , StartTime , FinishTime1 , scoreTime , Availability , RLineStr , ReDate , ReTime , C_ID ) SELECT PName , Dossol , LJID , Ptype , PWorker , StartTime , FinishTime1 , scoreTime , Availability , RLineStr , ReDate , ReTime , C_ID FROM temp_persion_results WHERE LJID NOT IN (SELECT LJID FROM persion_results)

select 1 from temp_persion_results where temp_persion_results.LJID='00052'

还有更简单的方法:先在插入表中创建唯一索引,可以是一个字段,也可以是多个字段聚合。在插入语句中使用insert ignore into,忽略存在的数据,就可以添加不重复的记录。

主键不用啦,有非重复索引/约束就可以了,

CREATE Index Unique就可以了

当然主键也是一种非重索引,不过一个表只能有一个主键,但是可以有多个非重索引。

插入前判断,也是可以的,这种方法从性能角度考虑,能避免就应该避免。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11933551.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存