在 SQLite 上连接表时如何进行更新?
我尝试过:
UPDATE closure JOIN item ON ( item_id = id )
SET checked = 0
WHERE ancestor_id = 1
并且:
UPDATE closure, item
SET checked = 0
WHERE ancestor_id = 1 AND item_id = id
两者都适用于 MySQL,但是它们在 SQLite 中给了我一个语法错误。
如何使此 UPDATE/JOIN 与 SQLite 版本 3.5.9 一起使用?
I tried :
UPDATE closure JOIN item ON ( item_id = id )
SET checked = 0
WHERE ancestor_id = 1
And:
UPDATE closure, item
SET checked = 0
WHERE ancestor_id = 1 AND item_id = id
Both works with MySQL, but those give me a syntax error in SQLite.
How can I make this UPDATE / JOIN works with SQLite version 3.5.9 ?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
你不能。 SQLite 不支持 UPDATE 语句中的 JOIN。
但是,您可能可以使用子查询来做到这一点:
或者类似的东西; 目前尚不清楚您的架构到底是什么。
You can't. SQLite doesn't support JOINs in UPDATE statements.
But, you can probably do this with a subquery instead:
Or something like that; it's not clear exactly what your schema is.
您还可以使用 REPLACE 然后您可以使用连接选择。
像这样:
You can also use REPLACE then you can use selection with joins.
Like this: