gpt4 book ai didi

python - 尝试 sqlite upsert 时如何纠正语法错误?

转载 作者:行者123 更新时间:2023-12-01 00:05:18 25 4
gpt4 key购买 nike

我遇到了无法理解/更正的 SQLite UPSERT 语法错误。我正在引用https://sqlite.org/lang_UPSERT.html处的文档

示例代码:

import sqlite3
cnxn = sqlite3.connect(":memory:")
crsr = cnxn.cursor()
# Create a simple table with a Primary Key
crsr.execute("CREATE TABLE t (Id INTEGER PRIMARY KEY, Name TEXT)")
# Add a row
crsr.execute("INSERT INTO t(Id,Name) VALUES(1,'Fred')")
# I would expect the following to update Name for Id=1
crsr.execute("INSERT INTO t(Id,Name) VALUES(1,'Sam') ON CONFLICT(Id) DO UPDATE SET Name=excluded.Name")

相反,返回sqlite3.OperationalError:接近“ON”:语法错误我做错了什么?

最佳答案

语法正确。我的 SQLite 版本不够新,无法利用该功能。遗憾的是,升级 SQLite 并不像 PIP install --upgrade 那么容易...

以下是为可能遇到此问题的其他人提供的一些实用提示:

查找当前的 SQLite 版本

import sqlite3
sqlite3.sqlite_version

从 SQLite 下载站点获取更新版本(在本例中为 3.24+):https://www.sqlite.org/download.html

解压,然后将.dll保存在[Python安装目录]/DLLs文件夹中。

关于python - 尝试 sqlite upsert 时如何纠正语法错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60023691/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com