我使用的是Sqlite 3.32.3。我使用SQLiteStudio 3.2.1将数据导入到一个表(rover)中。我想使用UPSERT更新现有行并插入新行。作为测试,我使用下面的语句来更新单个现有行。它在sql编辑器中不起作用,但在本机SQLite3终端界面中起作用。我使用的是OSX 10.14.6。这是SQLiteStudio的局限性,还是我遗漏了什么?
在冲突(员工编号)上插入rover (员工编号,DeleteDate)值('97763','2020-06-24'),执行UPDATE SET DeleteDate = excluded.DeleteDate;
发布于 2020-06-28 17:24:54
您使用的.version命令是在终端推断中使用的,它是终端二进制文件使用的版本。不幸的是,版本3.2.1中的SQLiteStudio在MacOS X上使用SQLite 3.22.0 (请参阅菜单SQLiteStudio ->关于->环境选项卡)。
也就是说,幸运的是,您可以替换SQLtieStudio使用的SQLite库文件。只需从您的系统中提取libsqlite3.0.dylib (或者,如果您可能自己编译),并替换SQLiteStudio.app/Contents/Frameworks/中现有的一个。重要的是,新库启用了可加载扩展编译时选项,因为SQLiteSTudio正在使用它。
SQLiteStudio 3.2.2 (即将发布)将拥有最新的SQLite。
https://stackoverflow.com/questions/62604497
复制相似问题