0

如果我有一组数字存储在表列中,比如说我1,60,71怎样才能让我的 sql 在存储过程中使用 while 或其他方法循环遍历该组数字?

我喜欢做

Loop throught 1,60 and 71
Update row where id = 1,60 and 71 with my data.

我希望你能明白。

编辑: 更新前的表格

"id"    "total" "vals"
"1"     "0"     ""
"2"     "0"     ""
"3"     "0"     ""
"4"     "0"     "1,2,3"

更新后

"id"    "total" "vals"
"1"     "1"     ""
"2"     "1"     ""
"3"     "2"     ""
"4"     "0"     "1,2,3"

自是- id为1,2,3vals的行已被更新id 41,2,3+1

唯一的问题是遍历该 vals 字符串中的每个值,并将相应的行更新 +1

4

1 回答 1

1

使用 JOIN,而不是循环:

UPDATE Table t1
JOIN Table t2
ON FIND_IN_SET(t1.id, t2.vals)
SET t1.total = t1.total  + 1
WHERE t2.id = 4
于 2013-09-29T04:52:12.007 回答