查询中的 MySQL 循环变量
Posted
技术标签:
【中文标题】查询中的 MySQL 循环变量【英文标题】:MySQL Loop Variable in a Query 【发布时间】:2014-07-01 11:15:17 【问题描述】:我想在我的 select 语句的结果中使用循环索引“i”,以便将其插入到另一个表中。是这样的:
set i=0;
while i<25 do
insert into a (x,y,z)
select a,b,i
from table1;
set i= i+1;
end while;
有什么办法呢?
【问题讨论】:
要插入 table1 的所有行吗?有什么条件吗?也许你可以发布一个真实的样本。 【参考方案1】:完成:)
我刚刚创建了变量 i 作为@i,它已经全部解决了。
像这样:
set @i=0;
while @i<25 do
insert into a (x,y,z)
select a,b,@i
from table1;
set @i= @i+1;
end while;
谢谢 :)
【讨论】:
仅供参考,这将非常慢。您应该使用基于集合的方法。 我可以使用任何样本吗? 是的,create a numbers table 然后加入它。【参考方案2】:作为游标单独打开表格,将字段放入变量中,然后使用这些变量和 i 将数据插入到带有 a 的表格中
insert into a (x,y,z) values (var1, var2, i).
您所写的内容会将多行放入一个表 a 中,每个值为 i。
【讨论】:
您能再解释一下吗?我是 mysql 新手,不明白这个答案...以上是关于查询中的 MySQL 循环变量的主要内容,如果未能解决你的问题,请参考以下文章
mysql 存储过程中 查询语句后面的from加上变量名 怎么写
Linux mysql shell脚本 变量和环境变量 位置参数 预定义变量 运算符 判断 流程控制 for循环 与用户交互 函数