[英]insert + upsert works in sqlite3 console, but on python it shows syntax error
我正在使用sqlite 3.25.1版本。 當我在sqlite控制台中執行以下查詢時,它可以工作:
insert into cases (bi, age, shape, margin, density, severity)
values (5, 67, 3, 5, 3, 1)
on conflict(bi, age, shape, margin, density, severity)
DO UPDATE SET frequency=frequency+1;
但是當我在python上執行它時,它說:
sqlite3.OperationalError:“開”附近:語法錯誤
這是我在python上的代碼:
C.execute('insert into cases (bi, age, shape, margin, density, severity) '
'values (5, 67, 3, 5, 3, 1)'
'on conflict(bi, age, shape, margin, density, severity) '
'DO UPDATE SET frequency=frequency+1', ())
我不知道如何使它工作。
python加載的sqlite3版本中可能未包含UPSERT
。 從sqlite3 doc中 :
UPSERT語法已添加到SQLite版本3.24.0(2018-06-04)中。
要在python中找到sqlite版本:
>>> import sqlite3
>>> sqlite3.sqlite_version
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.