呵呵, 在INSERT INTO 语句中目的表不能出现在SELECT查询部分的FROM子句中, 因为在ANSI SQL中被禁止让你从正在插入的表中SELECT。 (问题是SELECT将可能发现在同一个运行期间内先前被插入的记录。当使用子选择子句时,情况能很容易混淆)所以你需要建一个临时表, 然后再从临时表中选择插入到目的表中CREATE TEMPORARY TABLE Temp SELECT t1.* FROM t1,t2 WHERE t1.ID<>t2.ID; INSERT INTO t2 SELECT * FROM Temp; DROP TABLE Temp;
在INSERT INTO 语句中目的表不能出现在SELECT查询部分的FROM子句中,
因为在ANSI SQL中被禁止让你从正在插入的表中SELECT。
(问题是SELECT将可能发现在同一个运行期间内先前被插入的记录。当使用子选择子句时,情况能很容易混淆)所以你需要建一个临时表,
然后再从临时表中选择插入到目的表中CREATE TEMPORARY TABLE Temp SELECT t1.* FROM t1,t2 WHERE t1.ID<>t2.ID;
INSERT INTO t2 SELECT * FROM Temp;
DROP TABLE Temp;