[英]How to replace multiple values in 1 column in mysql SELECT query using REPLACE()?
[英]I want to search and replace multiple values in a table column in one MYsql query
查询“ Mysql Table”列中的X更新Y的位置和A更新B的位置。
如何在一个特定表的同一列上的一个查询中,在MYsql中执行此操作。 我想搜索并替换表列中的多个值。
第1列的表1中的条件
Where X update Y
and
Where a update b
and
Where 1 update 2
and
Where 3 update 4
and
Where value1 update value 2
等等。
我可以单独执行此操作,但是如何更快地执行此操作? 是否有mysql函数可以帮助我解决这个问题?
我大约有120列,每列200个搜索和替换/更新值。
谢谢。
您可以使用如下形式:
update table table set A = if(conditionA, newA, A), B = if(conditionB, newB, B)
但是我希望它比2次单独的更新要慢,因为它试图在不符合条件时将每一行的值重置回自身。
您可以通过添加以下内容对其进行一些优化:
update table table set A = if(conditionA, newA, A), B = if(conditionB, newB, B)
where conditionA or conditionB
在某些情况下,这可能比2个查询要快。
您可以执行以下操作:
UPDATE table1
SET
col1 = CASE WHEN col2 THEN a ELSE col1 END,
col3 = CASE WHEN col4 THEN b ELSE col3 END
请注意,如果条件失败,这会将值重新设置为自身,从而有效地使其保持不变。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.