使用MySQL更新csv字段中的行

时间:2016-06-05 16:44:14

标签: mysql csv select

我的MySQL表中有一个用逗号分隔的id填充的列。 我想更新csv列表中包含其itemID的所有行:

UPDATE items SET ... WHERE itemID IN(SELECT <csv items id> FROM list WHERE ...)

不幸的是,这只会影响csv列表中的第一个itemID。

我也试过这个:

SELECT @csv := <csv items id> FROM list WHERE ...;
UPDATE items SET ... WHERE itemID IN(@csv);

同样的事情,只有csv列表中的第一个值得到更新。

以下是一些可说明的照片:

1 个答案:

答案 0 :(得分:1)

我建议使用FIND_IN_SET(如果结果是!=那么,ItemID匹配comma_delimited_string中的值

 UPDATE items 
  SET  your_column = your_result
 WHERE FIND_IN_SET(ItemID, your_comma_delimited_string) != 0;