MySQL:如何从逗号分隔的列表中获取for循环?

MySQL:如何从逗号分隔的列表中获取for循环?,mysql,variables,for-loop,Mysql,Variables,For Loop,我想为一长串整数值创建sqlstring、准备stmt、执行stmt for i in (6500,6700,15781,..,79865) for j in string values ("TT","FF","DD","RH") long .sql script; end for j end for i 在Informix SQL中,它类似于: FOR i IN (1 TO 20 STEP 5, 20 to 1 STEP -5, 1,2,3,4,5) . . . END F

我想为一长串整数值创建sqlstring、准备stmt、执行stmt

for i in (6500,6700,15781,..,79865)
  for j in string values ("TT","FF","DD","RH")
     long .sql script;
  end for j
end for i
在Informix SQL中,它类似于:

FOR i IN (1 TO 20 STEP 5, 20 to 1 STEP -5, 1,2,3,4,5)
. . .
END FOR:

我是mysql新手,其语法与我习惯的不同。
在我看来,创建一个过程来实现这一点似乎有点奇怪。

MySQL没有数组类型,并且您的整数值列表是一个文本数组,因此无法在MySQL中以本机方式表示该列表,或者将其用作循环控件

基本上有两种方法可以解决这个问题:

  • 或者在应用程序代码中这样做,您将很高兴地拥有与您作为示例演示的语法相似的语法
  • …或将问题表示为两个表之间的查询(例如a),每个表都包含文本数组或列表中的数据

嗨,杰里米,谢谢你的回答,但这仍然不是我想要的。我尝试过使用你的建议,但很抱歉,我不理解。我确实尝试为其中的循环创建一个.sql脚本,它可以像.bash脚本一样运行。(链接到)一个例子会有所帮助。谢谢