首页 / PHP / php-使用PDO从多个数据源批量插入
php-使用PDO从多个数据源批量插入
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了php-使用PDO从多个数据源批量插入,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1722字,纯文字阅读大概需要3分钟。
内容图文
![php-使用PDO从多个数据源批量插入](/upload/InfoBanner/zyjiaocheng/684/4f62a9e2aa5e4f0b805365c842450272.jpg)
我正在尝试使用PHP / PDO从两个来源向MySQL表插入行:
>另一个表(相同的数据库)
> PHP
我要填充的表如下所示:
Table Name : data_sink
+-------+-----------+--------------+-----------+
| ID | data1 | data2 | data3 |
+-------+-----------+--------------+-----------+
| 1 | text_1 | aa | 8 |
| 2 | text_2 | bb | 8 |
| 3 | text_3 | cc | 8 |
| 4 | text_4 | dd | 8 |
| 5 | text_5 | ee | 8 |
| 6 | text_6 | ff | 8 |
+-------+-----------+--------------+-----------+
在这里,data1和data2来自另一个表,然而data3来自PHP代码.我使用以下查询仅从表中获取数据:
$insert_rows = $db->prepare("INSERT INTO data_sink (data1, data2)
SELECT username, usergroup FROM data_origins WHERE <condition>");
我不确定如何将data3添加到此查询中.我发现了一种解决方法,方法是在我的原始表中添加另一列,并用值“ replaceme”填充所有行,然后按以下方式运行查询:
$insert_rows = $db->prepare("INSERT INTO data_sink (data1, data2, data3)
SELECT username, usergroup, temp_value FROM data_origins WHERE <condition>");
然后,我运行一个附加查询,将da??ta3设置为“ replaceme”的位置更新表
$update_rows = $db->prepare("UPDATE data_sink SET data3 = :data3
WHERE data3 = 'replaceme'");
是否有解决此问题的单步方法,将MySQL和PHP的输入组合在一起? [注意:对于每一批插入,所有行都为data3共享一个公共值]
解决方法:
可能像
$insert_rows = $db->prepare("INSERT INTO data_sink (data1, data2, data3)
SELECT username, usergroup, ? FROM data_origins WHERE <condition>");
$insert_rows->bindParam(1, $data3);
$insert_rows->execute();
当然,这假定您的$data3对于要插入的所有行都是相同的.也可以执行简单的算术运算或函数调用,以确保每行基于$data3获得不同的值
内容总结
以上是互联网集市为您收集整理的php-使用PDO从多个数据源批量插入全部内容,希望文章能够帮你解决php-使用PDO从多个数据源批量插入所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。