代码之家  ›  专栏  ›  技术社区  ›  Drew

如何将数据插入两个不同的表中?

  •  1
  • Drew  · 技术社区  · 17 年前

    我有一个表单,它获取用户的详细信息和他们上传的图像。我想将数据写入一个用户表和一个图像表,但我非常肯定,仅使用两个单独的insert语句是无法完成的。任何帮助都将不胜感激。

    3 回复  |  直到 17 年前
        1
  •  4
  •   Erlend Halvorsen    17 年前

    您需要先插入用户,然后执行“Select last_insert_id()”以检索用户的ID。然后您可以使用新创建的用户ID将图像插入到image表中。 mysql_insert_id() 如果使用mysql和innodb,还可以将插入内容包装在 transaction ,方法是发出begin,然后是inserts,然后是commit(如果成功添加了所有内容),或者rollback(如果失败)。

        2
  •  0
  •   Nick    17 年前

    你为什么很确定不能做到?你试过了吗?插入到用户表中,然后插入到图像表中…完全没有问题。

    唯一的警告是您应该在事务中包装这些插入,这样它们就可以作为一个单独的插入并一起成功/失败。

        3
  •  0
  •   bfavaretto    13 年前
    $rec = mysql_query("insert into userdet values("$id","$username",....)");
    if($rec)
      mysql_query("insert into imag values("$id","$imgname",...)");
    
    推荐文章