MySQL:更新同一列下多行的值

标签 mysql sql

所以我有这个表,其中包含名为 AMEX 和 CashOnly 的列。它们的值都是 1 或 0。现在,我想将所有“1”值更改为“YES”,将所有“0”值更改为“NO”,而不是 1 和 0,这样会更多观众可以理解。

我可以使用什么最有效的 SQL 查询来完成此任务?

最佳答案

使用单个 UPDATE 语句:

UPDATE yourTable
SET AMEX     = CASE WHEN AMEX = '0'     THEN 'NO' ELSE 'YES' END,
    CashOnly = CASE WHEN CashOnly = '0' THEN 'NO' ELSE 'YES' END

请注意,这假定您已将 AMEXCashOnly 列转换为 VARCHAR。另请注意,没有 WHERE 子句,因为您要更新表中的所有记录。

关于MySQL:更新同一列下多行的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38136131/

相关文章:

mysql - 简单的数据库注意事项和 CakePHP

mysql - Codeigniter session 值访问

mysql - SQL 没有列的表名

Mysql 随机获取但尝试获取最小值

php - 这些使用 PHP 和 MYSQL 的准备好的语句有什么区别吗?

php - Laravel:根据经纬度从数据库中获取结果

MySQL delete with subquery给出语法错误

php - 如何防止 PHP 中的 SQL 注入(inject)?

sql - 启用 oracle 约束的问题

mysql - SQL - 将 select * 查询与 select 1 组合