Php 如何将新行的id插入到另一个链接表中?

Php 如何将新行的id插入到另一个链接表中?,php,mysql,sql,foreign-keys,Php,Mysql,Sql,Foreign Keys,我有一个表,用于用外键链接另外两个表(表3)。 我用php编写服务器端代码,我需要一种在表2中插入行时自动将行插入表3的方法 但我不知道如何执行php查询,以获取表2中新行的生成id?(表1的id确实存储在php变量中)我正在查看智能存储过程?您可以按照以下步骤操作: 1) 将ID设置为表2中的自动增量 2) 创建如下工作的存储过程: A) INSERT Value to your Table2 : B) Increase ID value : SELECT LAST_INS

我有一个表,用于用外键链接另外两个表(表3)。

我用php编写服务器端代码,我需要一种在表2中插入行时自动将行插入表3的方法

但我不知道如何执行php查询,以获取表2中新行的生成id?
(表1的id确实存储在php变量中)
我正在查看智能存储过程?

您可以按照以下步骤操作:

1) 将ID设置为表2中的自动增量

2) 创建如下工作的存储过程:

    A) INSERT Value to your Table2 :

    B) Increase ID value :  SELECT LAST_INSERT_ID() INTO VARIABLE; 

    C) Insert Value to your Table3   : use VARIABLE to get ID of Table2

要遵循的步骤

  • 表2中插入一行
  • table2
    中找到生成的键,并将其分配给
    PHP
    变量
--将其读入php变量,比如$last_key 选择最后一个插入ID();
  • 使用
    insert
    语句中的
    $last_键
    ,用于
    表3

使用sql触发器。当php插入到表中时,您可以在sql中触发insert/delete查询,但我只能获取一个表的值?取决于代码的php端。Mysql存储一个@last_insert_id,可以在PHP中使用专用方法检索该id(不推荐使用Mysql_insert_id)。不需要触发器,这太过分了。mysql的可能副本实际上不提供类似PostgreSQL的序列功能。我更改mysql的步骤。检查一下
    A) INSERT Value to your Table2 :

    B) Increase ID value :  SELECT LAST_INSERT_ID() INTO VARIABLE; 

    C) Insert Value to your Table3   : use VARIABLE to get ID of Table2
-- read this into a php variable, say, $last_key SELECT LAST_INSERT_ID();