如何更新列 - 不区分大小写 ??
如果我运行下面的查询,它会按预期返回 62 条记录:
select entity_id
from field_data_body
where body_value like '%mailto:iss.servicedesk@example.com%';
Returns 62 Records
我正在尝试更新这些记录,以便使用以下方法将 iss.servicedesk@example.com
替换为 http://iss.servicedesk.example.com
查询:
update field_data_body
SET body_value = REPLACE(body_value,'%mailto:iss.servicedesk@example.com%',
'http://iss.servicedesk.example.com');
不幸的是,它只更新了 52 条记录,因为它正在运行区分大小写的查询,例如Iss.Servicedesk@example.com
在上述查询中未被识别。
我如何运行上述更新查询,但不区分大小写以获取我希望更新的所有表?
我已经更新了下面的查询 - 它运行但是当我知道有链接需要更新时没有找到任何要更新的结果:
update `field_data_body` SET `body_value` = REPLACE(body_value,'%mailto:iss.servicedesk@example.com%','https://iss.servicedesk.example.com')
where LOWER(CONVERT( body_value USING latin1)) like '%mailto:iss.servicedesk@example.com%'
关于我需要做些什么来修复它以使其正常运行有什么建议吗?
最佳答案
在查询中使用 UPPER()
或 LOWER()
函数。
关于mysql - 如何更新和替换忽略大小写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12248041/