【问题标题】:Is it possible to both insert and update in a single sqlite statement?是否可以在单个 sqlite 语句中同时插入和更新?
【发布时间】:2018-02-10 19:44:42
【问题描述】:

我想将一个表中的一行插入到一个新表中,但同时更改了一个值。是否可以在一个语句中做到这一点?

目前我有:

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

【问题讨论】:

    标签: python sqlite sql-update sql-insert


    【解决方案1】:

    * 替换为实际的列列表,然后将该列替换为新值:

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

    【讨论】:

      【解决方案2】:

      是的,你可以使用

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

      【讨论】:

        猜你喜欢
        • 2012-02-11
        • 2011-08-31
        • 2011-12-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-09-24
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多