我想复制一个表的全部内容(bids_accepted)并将表中的所有行放入archive_bids_accepted表中进行存档。这些表完全相同,只是archive_bids_accepted表有一个额外的列(第一列),以便为整个出价组提供唯一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";
答案 0 :(得分:0)
我不会尝试手动插入id
的值。让我们使用AUTOINCREMENT
:
CREATE TABLE archive
(
Id int AUTOINCREMENT,
create_username <datatype>,
create_ts <datatype>,
update_username <datatype>,
update_ts <datatype>
)
然后执行以下SQL:
INSERT INTO archive_bids_accepted
(create_username, create_ts, update_username, update_ts)
SELECT create_username, create_ts, update_username, update_ts
FROM bids_accepted
Id
字段将自动填充。