我有两张桌子:
table1 - IP,SN,版本,日期,工作
table2 - IP,SN,Vesrion
我想向table2添加仅来自table1的表中没有的IP。并根据table1更新SN +版本(只是我添加的新行)
我在这里找到了如何根据另一个表中的IP进行更新 但是我没有找到如何添加它而没有重复。
这就是我想要做的事情:
table 1
IP
10.0.0.5
10.0.0.6
10.0.0.7
table2
IP
10.0.0.5
192.168.30.11
1.1.1.1
所以在函数结束时table1不会改变 和table2将是:
IP
10.0.0.5
192.168.30.11
1.1.1.1
10.0.0.6
10.0.0.7
感谢。
答案 0 :(得分:0)
以下是两个单独的查询来完成这项工作。
在表2中添加不存在的记录
INSERT INTO table2 (SELECT IP, SN, Vesrion FROM table1 where table1.IPnot in (select IPfrom table2));
更新现有数据
UPDATE TABLE table2 INNER JOIN table1 ON table2.IP = table1.IP SET table2.SN = table1.SN, table2.vesion = table1.version WHERE table1.version <> table2.version OR table2.SN <> table1.SN
答案 1 :(得分:0)
使用IP
排除table1
已存在INSERT INTO table1
(IP)
SELECT t1.ROU_IP
FROM routers t1
WHERE NOT EXISTS (SELECT *
FROM table1 t2
WHERE t2.IP = t1.ROU_IP);
的行。
setForm(form){
this.form = form
}