MySQL脚本中是否有一种方法可以声明一个数组(或任何集合)并在其上循环来执行操作?
例如,
SET @myArrayOfValue=[2,5,2,23,6]
for each @value in @myArrayOfValue
INSERT INTO EXEMPLE VALUES(@value, 'hello');
end for each
答案 0 :(得分:3)
不,SQL不支持FOR EACH / etc语法。你最接近的将是使用游标。此外,SQL中没有数组语法 - 您必须使用:
SELECT 2 FROM DUAL
UNION ALL
SELECT 34 FROM DUAL
UNION ALL
SELECT 24 FROM DUAL
...构建与SQL等效的“数组值”。
SQL脚本将具有单独的INSERT语句。您将关注使用PHP / Java /等。使用FOR循环语法,就像你的例子中提供的那样。
答案 1 :(得分:0)
您可以使用MySQL SET之类的内容吗?而不是循环,你可以将值存储在SET中。