mysql中的数组变量

Mik*_*ike 6 mysql sql

在MySQL脚本中是否有一种方法可以声明一个数组(或任何集合)并在其上循环来执行操作?

例如,

SET @myArrayOfValue=[2,5,2,23,6]


for each @value in @myArrayOfValue
   INSERT INTO EXEMPLE VALUES(@value, 'hello');
end for each
Run Code Online (Sandbox Code Playgroud)

OMG*_*ies 3

不,SQL 不支持 FOR EACH/etc 语法。最接近的方法是使用光标。另外,SQL 中没有数组语法 - 您必须使用:

SELECT 2 FROM DUAL
UNION ALL
SELECT 34 FROM DUAL
UNION ALL 
SELECT 24 FROM DUAL
Run Code Online (Sandbox Code Playgroud)

...在 SQL 中构造等效的“值数组”。

SQL 脚本将具有单独的 INSERT 语句。您会考虑使用 PHP/Java/等。使用 FOR 循环式语法,如示例中提供的语法。