代码之家  ›  专栏  ›  技术社区  ›  Derek Adair

【mysql】:中间表插入值

  •  0
  • Derek Adair  · 技术社区  · 15 年前

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

    桌子:

    Purchase:
    Transaction_Id  Purchase_Id
    
    Schedule:
    Show_Id     Price
    
    Purchase_Schedule:
    PurchaseId(fk)   Show_Id(fk)
    

    我的问题是,purhcase_id是自动递增的。所以我不知道从哪里提取身份证。

    我本来打算做这样的事…

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

    问题是一个交易ID可以有多个购买ID与之绑定…所以这个方法已经过时了。

    因此,我认为处理这种情况的最佳方法是使用某种存储过程来自动更新采购计划。

    我应该使用存储过程吗?
    是否有方法插入到当前插入的购买计划中?
    或者返回自动增值购买ID的方法?

    1 回复  |  直到 15 年前
        1
  •  1
  •   Mark Byers    15 年前

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

    您也可以通过SQL获得它:

    SELECT LAST_INSERT_ID()
    

    参见 the MySQL manual 更多信息。