怎么写mysql insert into select循环语句

SET @date='2016-11-09';
INSERT INTO jia(山东) SELECT AVG(price) FROM jiagewang WHERE collecttime=@date AND province='山东';
INSERT INTO jia(河北) SELECT AVG(price) FROM zhujiagewang WHERE collecttime=@date AND province='河北';
INSERT INTO jia(河南) SELECT AVG(price) FROM zhujiagewang WHERE collecttime=@date AND province='河南'。
这是mysql插入很多语句记录,现在我想把province放在一个list里面去循环,我用python语句表达就是做成下面这样:
i=(山东,河北,河南)
for i in i:

insert into jia(i) SELECT AVG(price) FROM zhujiagewang WHERE collecttime=@date AND province=i。

我对mysql了解不多,求前辈指导。

阅读 7.8k
3 个回答

写个存储过程利用循环来做吧。。可以向存储过程穿第一个字符数组。。。

这个只能用游标来做了,或者用PHP之类的循环

你用python的话,可以用executemany,参考 http://dev.mysql.com/doc/conn...

但是看你的数据量并不是很多,所以用for去遍历insert的话也没无所谓了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题