我在使用 SQLite 时遇到问题?在 PostgreSQL 上使用相同的表时我没有这个问题。当表为空并且您使用以下 SQL 语句时,它会引发错误。
INSERT INTO [table] ([column]) VALUES ([column value]) RETURNING [column];
返回列是一个自动递增的主键字段,错误表示“返回”后有语法错误。当表中已经有另一条记录时,它没有问题。我现在的解决方法是进行空表检查并在需要时插入虚拟记录。这很笨重,我觉得我缺少一些东西。有什么想法吗?
您的 SQLite 版本(3.12.99)不支持该
RETURNING
子句:这就是 mustaccio 的 repro 工作的原因,它使用的是 3.39 版本,但是 dbfiddle 允许您将版本降低到 3.27,然后您也会在那里遇到错误。