数据库重复写入数据问题处理

1. IF(SELECT * FROM TABLE WHERE 字段名=插入值) IS NULL

    INSERT INTO TABLE

    就这样加个IF语句就行了,也可以IF NOT EXISTS(判断值是否存在的查询语句) INSERT INTO TABL

2,做唯一约束的。


3,使用ignore关键字

INSERT INGORE INTO ·table_name· ('user_id', 'email', 'phone') VALUES('1', '[email protected]', '18310316265')

当有重复记录就会忽略。执行后返回0。

4,replace into 

跟 insert 功能类似,不同点在于:replace into 首先尝试插入数据到表中, 1. 如果发现表中已经有此行数据(根据主键或者唯一索引判断)则先删除此行数据,然后插入新的数据。 2. 否则,直接插入新数据。

要注意的是:插入数据的表必须有主键或者是唯一索引!否则的话,replace into 会直接插入数据,这将导致表中出现重复的数据。

猜你喜欢

转载自blog.csdn.net/qq_38295166/article/details/79894374