SQLiteStudio 使用更新插入

SQLiteStudio using upsert

我正在使用 Sqlite 3.32.3。我使用 SQLiteStudio 3.2.1 将数据导入 table (rover)。我想使用 UPSERT 更新现有行并插入新行。作为测试,我使用下面的语句来更新单个现有行。它在 SQLiteStudio sql 编辑器中不起作用,但它在本机 SQLite3 终端界面中起作用。我正在使用 OSX 10.14.6。这是 SQLiteStudio 的限制还是我遗漏了什么?

INSERT INTO 流动站([员工编号],DeleteDate) 值('97763','2020-06-24') 关于冲突([员工编号]) 执行更新设置 DeleteDate = excluded.DeleteDate;

您使用的.version命令是在终端infertace中,它是终端二进制文件使用的版本。不幸的是,3.2.1 版的 SQLiteStudio 在 MacOS X 上使用 SQLite 3.22.0(请参阅菜单 SQLiteStudio -> 关于 -> 环境选项卡)。

话虽如此,幸运的是,您可以替换 SQLtieStudio 使用的 SQLite 库文件。只需从您的系统中获取 libsqlite3.0.dylib(或者如果您可能自己编译)并替换 SQLiteStudio.app/Contents/Frameworks/ 中现有的一个。重要的是新库启用了 Loadable Extensions 编译时选项,因为 SQLiteSTudio 使用它。

SQLiteStudio 3.2.2(即将发布)将拥有最新的 SQLite。