【问题标题】:Bulk insert and update in one query sqlite在一个查询 sqlite 中批量插入和更新
【发布时间】:2017-01-17 07:45:55
【问题描述】:

有没有办法在同一个查询中插入和更新批量数据。我看到了很多喜欢但没有得到解决方案。我得到一个代码,但它不起作用

INSERT INTO `demo1` (`id`,`uname`,`address`) 
 VALUES (1, 2, 3), 
 VALUES (6, 5, 4), 
 VALUES (7, 8, 9)
 ON DUPLICATE KEY UPDATE `id` = VALUES(32), `uname` = VALUES (b),`address` = VALUES(c)

谁能帮帮我。

【问题讨论】:

    标签: iphone sqlite


    【解决方案1】:

    SQLite 有 REPLACE statement(它是 INSERT OR REPLACE 的别名),但如果发现重复键,这只会删除旧行。

    如果要保留旧行中的数据,则必须为每一行使用两个语句:

    db.execute("UPDATE demo1 SET ... WHERE id = 1")
    if db.affected_rows == 0:
        db.execute("INSERT ...")
    

    【讨论】:

    • 感谢您的重播,但是如何将它用于批量数据。你能更新你的答案吗
    • 我说的是“每一行”。
    • 那么在这种情况下我必须使用循环系统?
    猜你喜欢
    • 1970-01-01
    • 2013-03-15
    • 1970-01-01
    • 2014-02-09
    • 2016-04-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多