2017-01-17 75 views
0

有什麼方法可以在同一查詢中插入和更新批量數據。我看到很多人喜歡,但沒有得到解決辦法。我得到一個代碼,但它不工作在一個查詢中批量插入和更新sqlite

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) 

任何人都可以幫助我。

回答

0

SQLite的REPLACE statement(這是INSERT OR REPLACE的別名),但是這只是在找到重複鍵時刪除舊行。

如果你想從舊行(S)保留的數據,則必須使用兩個語句的每一行:

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

感謝您的重播,但我怎麼能使用它的大量數據。你能否請你更新你的答案 – user3666505

+0

我說「每行」。 –

+0

那麼在那種情況下我必須使用循環系統? – user3666505