我正在尝试将一些选项设置为事件/非事件,并且我使用名为 active
的列,该列将为 1 或 0。
除了运行两个查询之外,是否有更好的方法使除一个等于 1 之外的所有 0 并通过表单提交确定?
现在我有这个:
mysql_query("UPDATE customizer SET active='1' WHERE text_color='{$text_color}'");
但最终它们都会是 1。
最佳答案
UPDATE `customizer` SET `active` = (`text_color` = '{$text_color}')
执行比较,如果为 true,则返回 1
,如果为 false,则返回 0
,并将结果放入 active
列中。
不过,请考虑更改您的数据库结构。将 active_colour
与您的用户数据或其他内容一起保存会更好地保持一致性。
关于php - mysql - 更新列中的值,同时使所有其他值均为 false,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28240945/