这个问题可能很难理解,让我准确地告诉你我想做什么:
我在多语言网站上处理文章,用户可以更新内容。
我的数据库的大致结构如下所示:
表
articles
:
表
article_contents
:
如果新内容还是草稿,
version
就是null
。一旦草稿经过主持人验证,它就会成为最终版本,并针对给定的 version
和给定的 article_id
采用下一个可用的 lang
。
我尝试编写的 SQL 请求如下所示:
UPDATE article_contents
SET version=(
SELECT MAX(version)
FROM article_contents
WHERE article_id=SAME_AS_THE_ONE_IN_THE_MAIN_QUERY
AND lang=SAME_AS_THE_ONE_IN_THE_MAIN_QUERY
) + 1
WHERE id=:id;
我可以用什么来代替
SAME_AS_THE_ONE_IN_THE_MAIN_QUERY
,或者有没有更干净的方法来做到这一点?