使用插入选择在动名词表中插入多行

诺克提斯

我使用 INSERT INTO SELECT 将值(多行)从一个表复制到另一个表。现在,我的问题是如何将来自不同表的具有相应 ID 的行(因为它已规范化)插入到动名词表中,因为它只在我的动名词表中输出一行。我应该怎么做才能在动名词表中插入多行及其对应的 ID。

我的动名词表代码是这样的。

$insert = "INSERT INTO table1 SELECT * FROM sourcetable"; // where id1 is pk of table1.


$result =mysqli_query($conn,$insert)
$id1=mysqli_insert_id($conn);

现在表 1 插入了与其他 2 个表相同的多行。

假设 id.. 是外键

INSERT INTO gerundtable (pk, id1,id2,id3) VALUES ($id1,$id2,$id3);

我的问题是它不会产生多行。

诺克提斯

感谢您尝试理解并回答我的问题。我解决了我自己的代码。我使用 while 循环来获取每一行的 id,并没有使用 INSERT INTO SELECT。这里是运行。因为我只是用我的手机裸机发帖。

 $sqlselect = SELECT * FROM table1;
While($row=mysqli_fetch_array(table1){
    $insertquery...
    $id1=mysqli_insert_id($conn)

    $insertgerundtable = INSERT INTO gerundtable VALUES ( $id1, $id2);
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章