0
我想复制一个表的全部内容(bids_accepted),并通过将表中的所有行放入archive_bids_accepted表中将其归档。除了archive_bids_accepted表有1个额外的列(第一列)以使整个出价组为唯一ID(在前面的步骤中创建)之外,这些表格完全相同。MySQL - 将整个表的记录放入具有唯一ID列的另一个表中
什么是正确的MySQL语法来做到这一点?我认为它很接近,但不能使语法恰到好处。
// gets the unique ID
long id = DBUtil.executeInsert("INSERT INTO archive (create_username,create_ts,update_username,update_ts) VALUES('', NOW(),'',NOW())");
// MySQL syntax causing problems
String sql = "INSERT INTO archive_bids_accepted VALUES(" + id + ",select * from bids_accepted)";
// Also tried this
String sql = "INSERT INTO archive_bids_accepted " + id + ",select b.* from bids_accepted b";
它给出了一个错误,指出列数不匹配。以下是我在archive_bids_accepted表中设置archive_id字段的方法。 auction_id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, – bluedevil2k 2013-03-04 19:20:51
如果列数不匹配,请尝试指定要选择的列。我相应地更新了我的答案。 – 2013-03-04 19:23:38