mysql UPDATE 不指定列名

标签 mysql sql

我想更新表中的所有值,无论该值与特定值匹配的列

例如:

表格 列_a 列_b 列_c

abc              xhk             None
None             thk             hi
xyz              None            None
None             abcdef          None

我想将所有'无'更改为'N/A'

期望结果表 列_a 列_b 列_c

abc              xhk             N/A
N/A              thk             hi
xyz              N/A             N/A
N/A              abcdef          N/A

我可以通过查询来做到这一点

update table_name set column_a = 'N/A' where column_a = 'None'
update table_name set column_b = 'N/A' where column_b = 'None'
update table_name set column_c = 'N/A' where column_c = 'None'

是否有更好的方法来执行此操作,最好不指定列名称?

最佳答案

这是一个建议。我以为可以是这样的。如果它有效的话。让我知道。

$SqlQuery = "SHOW COLUMNS FROM TableName";
    $Result= mysql_query($SqlQuery);
    while($Row = mysql_fetch_array($Result))
    {
      $ColumnName=$Row['Field'];
      mysql_query("UPDATE TableName SET $ColumnName='N/A' WHERE $ColumnName='None'");
    }

关于mysql UPDATE 不指定列名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32221391/

相关文章:

javascript - DB 和 D3 通过 php 连接。无法完成 D3noob 的教程

perl - 是否可以 fork 一个 mysqldump 数据?

c# - 迁移到较新版本的连接器时,MySqlAdapter 引发致命异常

sql - Excel时间格式自动更改问题

mysql - SQL - 排序依据然后分组依据

mysql - UPDATE INNER JOIN on 子句中的未知列

mysql - 查询有什么问题吗?错误语法错误?按无工作分组

mysql - 从一个表中选择但过滤其他两个

sql-生成64位的随机整数

python - 如何在Python中处理多行SQL语句