我有一个可以添加帖子的系统。编辑帖子时,您可以选择将其另存为版本。这样一来,人们就可以检查较早版本的文本。
我正在尝试增加在页面上设置默认文本的可能性。
我数据库中的所有文本都有一个名为active
的字段,当添加第一个文本时该字段为1,对于所创建的任何新版本,该字段为0。
在显示文本的页面上,始终显示active = 1的文本,因此我希望能够将文本设置为active,而将来自同一类别的所有其他文本设置为0或inactive。 / p>
通过这种方式,用户可以选择默认显示哪个版本。
我该怎么做?
我的数据库布局:
您会看到有一个名为parent_id
的行,我只想更改带有该ID的所有其他值。
例如,假设我要将id
4设置为1
,那么id
1和5都必须为0
。在这种情况下,仅parent_id
73将受到影响。
如何使用SQL执行此操作?我已经看到了一些使用CASE
的示例,但这是另一种DB语言。
答案 0 :(得分:1)
在set子句中时可能会使用
update my_table
set active = (case when id = 4 then 1 else 0 end)
where parent_id = 73