【发布时间】:2012-10-27 18:45:13
【问题描述】:
我想用一个 INSERT 查询为从前一个查询中提取的每一行使用准备好的语句创建一个循环。以更直观的方式:
进行查询
获取时
- 进行新查询
我无法关闭我的声明,因为我需要它来继续工作... 问题是当我们使用准备好的语句时,我们必须在执行新的 prepare() 之前获取所有数据。那么,我该怎么做呢?也许没有声明,但这不是一个好的解决方案。
【问题讨论】:
我想用一个 INSERT 查询为从前一个查询中提取的每一行使用准备好的语句创建一个循环。以更直观的方式:
进行查询
获取时
- 进行新查询
我无法关闭我的声明,因为我需要它来继续工作... 问题是当我们使用准备好的语句时,我们必须在执行新的 prepare() 之前获取所有数据。那么,我该怎么做呢?也许没有声明,但这不是一个好的解决方案。
【问题讨论】:
如果您尝试这样做,您将杀死您的 DB(如果您有 DBA,您的 DBA 会杀死您)。问题是您想要做的是每行向数据库发送一个插入请求。您必须为每一行数据一遍又一遍地创建和处理所有这些命令。那是昂贵的。
如果您下定决心这样做,没有什么可以阻止您在从第一个读取的循环中创建第二个准备好的语句(当然名称不同),但我强烈建议不要这样做。至少,缓冲传入的数据并一次插入几百行。
【讨论】: