mysql - 更新列中的值,同时使所有其他值为false

时间:2015-01-30 17:03:47

标签: php mysql

我尝试将某些选项设置为有效/无效,并且我使用名为active的列,该列将为1或0。

除了运行两个查询之外,还有一个更好的方法来使所有0除了一个等于1并由表单提交确定吗?

现在我有这个:

mysql_query("UPDATE customizer SET active='1' WHERE text_color='{$text_color}'");

但最终他们都是1。

1 个答案:

答案 0 :(得分:2)

UPDATE `customizer` SET `active` = (`text_color` = '{$text_color}')

执行比较,如果为true则返回1,如果为false则返回0,并将该结果放入active列。

考虑更改数据库结构。将active_colour与您的用户数据或其他内容保存在一起会更好。