基本上在一个表中,我想删除有人放入的metadata_value
列条目中的所有逗号,其中meta_key列等于15,16或17
所以:
SELECT REPLACE(metadata_value, ',', '')
FROM project_content_to_metadata
WHERE metadata_key = '15'
AND metadata_key = '16'
AND metadata_key = '17'
但它不起作用
答案 0 :(得分:3)
您的REPLACE
是正确的,但请使用OR
代替AND
。一行不能有3个不同的值。您可以使用IN
在一列上指定多个OR
条件:
SELECT REPLACE(metadata_value, ',', '')
FROM project_content_to_metadata
WHERE metadata_key IN ('15','16','17')
另外,如果您的metadata_key
类型为Integer,请不要在值周围使用引号,这可能是:
metadata_key IN (15,16,17)
答案 1 :(得分:1)
如果您确实要删除表格中的逗号 ,请使用update
:
update project_content_to_metadata
set metadata_value = REPLACE(metadata_value, ',', '')
where metadata_key in (15, 16, 17);
否则卡米尔的回答是正确的。