MySql / PHP - 更新多行

时间:2018-01-28 15:47:03

标签: php mysqli

我的数据库中有一个名为“unit”的列。所有(几百个)条目的值输入为“12.Z”或“16.Z”等。

我想将所有值更新为“12 OZ”或“16 OZ” 即如果值为12.Z,则应更改为12 OZ。

我在一个查询中更新多行没有问题,但是我不确定如何开始(或结束)此查询。

3 个答案:

答案 0 :(得分:1)

使用此查询:

UPDATE <TABLENAME> SET <COLUMNNAME>=REPLACE(<COLUMNNAME>, '.Z', 'OZ') WHERE <COLUMNNAME> LIKE '%.Z'
  • 是您要更新的表的名称(删除&lt;&gt;字符)
  • 是您要更新的表格中的列名称(删除&lt;&gt;)

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]' ";

Please Try this link

谢谢