我有两个不直接相关的表:data
和locations
下面的列
locations : id (serial number) name and code
data : locCodes
其中包含一个分隔的位置代码列表,如“|loc1|loc2|loc3|” .
我想用from替换locCode
in 。我试一试,但无法得到它。data
id
locations
此查询似乎正确,但我实际上无法正确获取更新片段。
SELECT REPLACE( data.locCodes , CONCAT('|', location.code, '|'), CONCAT('|', location.id, '|'))
FROM data, location
WHERE INSTR(data.locCodes, CONCAT('|', location.code, '|')) > 0
见http://sqlfiddle.com/#!2/02379/3
UPDATE data
SET locCodes = (SELECT REPLACE( data.locCodes , CONCAT('|', location.code, '|'), CONCAT('|', location.id, '|'))
FROM data, location
WHERE INSTR(data.locCodes, CONCAT('|', location.code, '|')) > 0);
引发有关 FROM 的错误。MySql 非常新,任何指导表示赞赏。