是否可以在单个sqlite语句中插入和更新?
问题描述:
我想从表中插入一行到一个新表中,但我更改了一个值。是否可以在一个声明中做到这一点?是否可以在单个sqlite语句中插入和更新?
目前我有:
db = sqlite3.connect('C:/Desktop')
db.execute("""insert into table2 select * from table1 where
ID = {0}""".format(5))
db.execute("""update table2 set column = {0} where ID = {1}""".format("new string",5)
db.commit()
db.close()
答
与实际列的列表替换*
,然后用新值替换列:
INSERT INTO Table2
SELECT ThisColumn, ThatColumn, 'new string', OtherColumns
FROM Table1
WHERE ID = ?;
答
是的,你可以使用
INSERT OR REPLACE INTO table(column_list)
VALUES(value_list);
这不适用于问题中的问题。 –