我正在尝试使用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 ");
我不确定如何将data3添加到此查询中.我发现了一种解决方法,方法是在我的原始表中添加另一列,并用值“ replaceme”填充所有行,然后按以下方式运行查询:
$insert_rows = $db->prepare("INSERT INTO data_sink (data1, data2, data3)
SELECT username, usergroup, temp_value FROM data_origins WHERE ");
然后,我运行一个附加查询,将da??ta3设置为“ replaceme”的位置更新表
$update_rows = $db->prepare("UPDATE data_sink SET data3 = :data3
WHERE data3 = 'replaceme'");
是否有解决此问题的单步方法,将MySQL和PHP的输入组合在一起? [注意:对于每一批插入,所有行都为data3共享一个公共值]