【问题标题】:[Mysql]: Inserting values into an intermediate table[Mysql]:将值插入中间表
【发布时间】:2010-02-04 19:19:26
【问题描述】:

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

表格:

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_ID 插入 Purchase_Schedule?
或如何返回 auto_incremented Purchase_ID?

【问题讨论】:

    标签: mysql auto-increment


    【解决方案1】:

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

    也可以通过 SQL 获取:

    SELECT LAST_INSERT_ID()
    

    更多信息请参见the MySQL manual

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-09-18
      • 2020-07-15
      • 1970-01-01
      相关资源
      最近更新 更多