我最近添加了一个中间表来链接两个表。
表格:
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?
或者返回自动递增的Purchase_ID的方法?
最佳答案
如果您使用 PHP 插入数据,则可以使用 mysql_insert_id检索插入的最后一行的自动递增 id 的值。
您也可以通过 SQL 获取它:
SELECT LAST_INSERT_ID()
参见the MySQL manual了解更多信息。
关于mysql - [MySQL] : Inserting values into an intermediate table,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2202497/