[Mysql]:将值插入中间表

时间:2010-02-04 19:19:26

标签: mysql auto-increment

我最近添加了一个中间表来链接两个表。

表:

Purchase:
Transaction_Id  Purchase_Id

Schedule:
Show_Id     Price

Purchase_Schedule:
PurchaseId(fk)   Show_Id(fk)

我的问题是purhcase_id在auto_increment上。所以我不确定从哪里取出ID。

我打算做这样的事......

INSERT INTO
    Purchase_Schedule
        (Purchase_ID, Show_ID)
    VALUES
        ((SELECT Purchase_ID FROM Purchase WHERE Transaction_ID=$transactionID),$purchaseID)";

问题是Transaction_ID可能有多个purchase_ID绑定到它...所以此方法已经用完。

所以我认为解决这种情况的最佳方法是使用某种存储过程来自动更新Purchase_Schedule。

我应该使用存储过程吗?
有没有办法在Purchase_Schedule @中插入当前插入的Purchase_ID?
还是返回auto_incremented Purchase_ID的方法?

1 个答案:

答案 0 :(得分:1)

如果您使用PHP插入数据,则可以使用mysql_insert_id检索插入的最后一行的自动递增ID的值。

您也可以通过SQL获取它:

SELECT LAST_INSERT_ID()

有关详细信息,请参阅the MySQL manual