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。
我正在使用 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。