如下:
从一个表(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
where + not exists
2.
left join on a.id = b.id where b.id is null
5
还可以设为唯一键,报错了try/catch住,但是不管不管
5
使用唯一键来约束。
5
唯一ID,用replace替换insert