【问题标题】: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");