【问题标题】:MySQL help: inserting data into two tables [closed]MySQL帮助:将数据插入两个表[关闭]
【发布时间】:2012-02-27 14:17:21
【问题描述】:

我有点理解这个问题。好吧,我有两个数据库表:

第一个是:

列表
listing_id -- 主键
标题
卧室
浴室
平方英尺
说明
类别
album_id - 外键

第二个是:

相册
album_id -- 主键

我正在尝试编写一个 php 查询函数,该函数允许我将上述数据插入到我的数据库中。但是,我不太确定如何包含 album_id 以便它可以在创建列表时自动增加。 --- Album_id 的存在只是为了保存特定列表的几个图像。

谁能通过示例或来源解释我将如何解决这个问题?我在某处听说我可以通过加入来做到这一点,但我对 php 和 mysql 还很陌生,不知道它是如何工作的。
感谢所有帮助。谢谢。

解决了。谢谢大家!

【问题讨论】:

    标签: php mysql database join insert


    【解决方案1】:

    在列表中创建新行之前,只需在相册中创建一个新行,然后将此新专辑的 id 用作列表中的 album_id。

    例如:

    INSERT INTO Albums ....
    
    INSERT INTO Listings ... (using last_id() for the album_id)
    

    注意:last_id() 是“你的 sql-lib 中返回最后插入的 id 的函数”的伪代码

    【讨论】:

      【解决方案2】:

      您想在“列表”中添加一个新行,可能有一个现有的专辑 ID,或者您可以同时创建一个新的?

      如果是这样,那么当你保存时,你应该先处理专辑,即将专辑保存到专辑表(它有一个自动递增的主表),确定新专辑行的已保存 id,然后存储你的列表行,包括相关的专辑 ID。

      希望我能理解你的问题。

      只是一个例子:

      mysql_query("INSERT into 'albums'etc");
      
      $id = mysql_insert_id();
      
      mysql_query("INSERT into 'listings' album_id='{$id}' etc");
      

      【讨论】:

      • 你帮了我很大的忙。谢谢,尼克!
      猜你喜欢
      • 1970-01-01
      • 2011-08-02
      • 2020-08-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多