过去,我已经成功地将表从一个表复制到另一个表,如下所示:
INSERT INTO myhistory SELECT p.*, NOW(), '' FROM mymain p
在这里,额外的列位于最后。但是,我现在有一种不同的情况,其中额外列是 (a) 在表的开头,(b) 它是自动递增列。所以我尝试了这个:
INSERT INTO `starchive` null, SELECT f.* FROM `stflagged` f
这不起作用。我也尝试了 0 而不是 null,但也失败了。有什么想法吗?
NULL 是 select 语句的一部分,因此字段数量匹配。所以:
INSERT INTO `starchive` SELECT NULL, f.* FROM `stflagged` f
或明确列出表格列:
INSERT INTO `starchive` (col2, col3, col4) SELECT f.* FROM `stflagged` f