MySql在存储过程内循环

时间:2013-09-29 04:39:15

标签: mysql sql stored-procedures

如果我有一组数字存储在表格列中,比如说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"

vals的{​​{1}}为id 4 - ID为{1,2}的行已由1,2,3更新

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

1 个答案:

答案 0 :(得分: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
相关问题