我有两张桌子
T1 Id | City 1 |Van Nuys 2 |Diamond Bar 3 |Anaheim T2 Id | City 1 |Burbank 2 |N.Hollywood 3 |Van Nuys
我需要用来自T2的数据填充T1。获得
T1 Id | City 1 |Van Nuys 2 |Diamond Bar 3 |Anaheim 4 |Burbank 5 |N.Hollywood
我试过像
这样的东西const char *insert_sql = "INSERT INTO t1 SELECT * FROM t2";
我认为它不会将数据从t2插入到t1中,因为它们具有相同的ID。
执行此操作的声明是什么?
答案 0 :(得分:1)
如果您的表位于同一个数据库中,请尝试此操作:
INSERT INTO t1(City)
SELECT City from t2 WHERE City NOT IN (SELECT City From t1)
如果您的表不在同一个数据库中,则必须:
SELECT City FROM t1;
。将其保存到内存中的本地集合中。#SomeCity
INSERT
语句,如下所示:INSERT INTO t2(City) VALUES (#SomeCity);