我的数据库中有一个名为“unit”的列。所有(几百个)条目的值输入为“12.Z”或“16.Z”等。
我想将所有值更新为“12 OZ”或“16 OZ” 即如果值为12.Z,则应更改为12 OZ。
我在一个查询中更新多行没有问题,但是我不确定如何开始(或结束)此查询。
答案 0 :(得分:1)
使用此查询:
UPDATE <TABLENAME> SET <COLUMNNAME>=REPLACE(<COLUMNNAME>, '.Z', 'OZ') WHERE <COLUMNNAME> LIKE '%.Z'
Replace是一个MySQL函数,用于替换字符串中的字符(https://www.w3resource.com/mysql/string-functions/mysql-replace-function.php)
LIKE是搜索运算符。您只查找以.Z结尾的值。 %是一个通配符,在开头有任何东西。
答案 1 :(得分:0)
您可以将更新用作
您可以使用两个单独的查询
update my_table
set my_col = '12 OZ'
where my_col = '12.Z'
;
update my_table
set my_col = '16 OZ'
where my_col = '16.Z'
;
或使用带有大小写的单个查询
update my_table
set case when my_col = '12.Z' then '12 OZ'
when my_col = '16.Z' then '16 OZ'
where my_col in ('12.Z', '16.Z')
;
答案 2 :(得分:0)
更新mysql中的多行
<强>语法强>
"UPDATE table_name SET column_name1=' value[$array]', column_name2=' value[$array]' WHERE column_name=' value[$array]' ";
谢谢