mysql 批量插入数据到数据库中,同时需要验证能否重复,怎么样解决

MySql 码拜 7年前 (2017-04-29) 1843次浏览

如下:
从一个表(callerClassName )中提取数据到另一个表(class_info_wang)中
假设:被插入表(class_info_wang)中原来就存在数据。
那么插入之前需要验证能否表中已经存在数据。
每次插入一条前,都需要验证能否已存在于表中。
有什么解决方案,除了下面方法?
(除了 WHERE 和 IN 搭配之外其他方法)

INSERT INTO class_info_wang(class_info_wang.className) (
SELECT DISTINCT callerClassName FROM call_info_wang
WHERE (callerClassName) not IN (
SELECT class_info_wang.className FROM class_info_wang
)
);
解决方案

5

1.
where + not exists
2.
left join on a.id = b.id where b.id is null

5

还可以设为唯一键,报错了try/catch住,但是不管不管

5

使用唯一键来约束。

5

唯一ID,用replace替换insert

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明mysql 批量插入数据到数据库中,同时需要验证能否重复,怎么样解决
喜欢 (0)
[1034331897@qq.com]
分享 (0)