不能在同一个表上操作
6.4.3.1 INSERT ... SELECT 句法
INSERT [LOW_PRIORITY] [IGNORE] [INTO] tbl_name [(column list)] SELECT ...使用 INSERT ... SELECT 语句,你可以从一个或多个表中读取多个记录行,并将其快速地插入到一个表中。 INSERT INTO tblTemp2 (fldID) SELECT tblTemp1.fldOrder_ID FROM tblTemp1 WHERE
tblTemp1.fldOrder_ID > 100;一个 INSERT ... SELECT 语句有下列条件的限止: INSERT 语句中的目标表不能在 SELECT 查询部分的 FROM 子句中出现,因为在 ANSI SQL 中,禁止你从正在插入的表中 SELECT。(问题是因为,SELECT 可能会发现在同一运行期内先前被插入的记录。当使用子选择子句时,这种情况将会更容易混淆!)