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

标签 php mysql

我正在尝试将一些选项设置为事件/非事件,并且我使用名为 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/

相关文章:

php - 通过PHP脚本在Android中根据Checkbox点击填充MySQL表

php - 如何通过 HTML/PHP 按钮执行 MYSQL 查询

php - 在 WooCommerce 存档页面中的产品标题下方添加自定义字段值

javascript - Highchart 显示单行不带逗号的结果

php - mysqli_stmt_bind_param : type mismatch do not raise error

mysql - 创建自定义 mysql 函数时出现语法错误

php - 将 MySql 表导出为 CSV?

php - 套接字PHP卡在fgets上

mysql - 在第二个基于多列连接表

mysql - 允许 Laravel ManyToMany 迁移具有多个相同的组合