mysql - 避免在 darby sql 中的 INSERT INTO SELECT 查询中使用 multipal 列重复 NOT Exists 不起作用
问题描述
我有两个表,有 4 列,比如
Table h1
----------
ID Name school home
1 A x 11
2 B y 12
3 C z 13
Table h2
----------
ID Name school home
1 A x 14
2 B s 15
3 D z 16
我想在表 h1 中插入表 h2 数据而不重复检查某些列我只想插入行 id 2 和 3
我试试
使用 NOT EXISTS:不起作用,使用 NOT IN:我只能使用 1 列
解决方案
为什么NOT EXISTS
行不通?在这里你可以去:
INSERT INTO table_h1 (ID, Name, school, home)
SELECT h2.ID, h2.Name, h2.school, h2.home
FROM table_h2 h2
WHERE NOT EXISTS (SELECT 1 FROM table_h1 h1 WHERE h1.id = h2.id AND h1.Name = h2.Name AND h1.school = h2.school);
推荐阅读
- postgresql - 在 docker compose 中运行的 postgresql 不会创建角色
- c - cpython代码dictobject.c中的marco`DK_ENTRIES`是什么意思
- google-chrome - 我想同时在谷歌浏览器中查看和控制同一个网页
- reactjs - 如何解决错误'expect(onClick).toHaveBeenCalled();'
- c++ - 如何删除 1 层 BST 中的根节点
- powerbi - Power BI:Power Query 缓慢加载多个 Excel 工作表
- amazon-web-services - 为数据驻留/处理选择 aws 区域的策略
- angular - Angular-TypeError:无法读取未定义的属性“forEach”
- autohotkey - 在 Autohotkey 中格式化 ListBox 的输出?
- javascript - 从另一个数组中的数组中选择一个多个答案