是否可以在单个sqlite语句中同时插入和更新?

2024-04-16 22:22:16 发布

您现在位置:Python中文网/ 问答频道 /正文

我想从一个表中插入一行到一个新表中,但在这样做的同时更改一个值。有没有可能在一个声明中这样做?你知道吗

目前我有:

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()

Tags: fromidformat声明executedbconnectwhere
2条回答

是的,你可以用

INSERT OR REPLACE INTO table(column_list)
VALUES(value_list);

用实际列列表替换*,然后用新值替换该列:

INSERT INTO Table2
SELECT ThisColumn, ThatColumn, 'new string', OtherColumns
FROM Table1
WHERE ID = ?;

相关问题 更多 >