【发布时间】:2011-05-31 03:28:16
【问题描述】:
我有一个 PHP 脚本,它可以在 mysql 数据库中创建一个条目。 PHP 插入除主键外的所有数据,主键是 mysql 自动递增的。问题是我想将信息插入两个表中,并且这些表必须能够关联。有没有办法让 PHP 在 mysql 的一个表中创建一个条目,然后从第一个表中找出增量主键值,以便将其插入到第二个 mysql 表中作为参考?
【问题讨论】:
我有一个 PHP 脚本,它可以在 mysql 数据库中创建一个条目。 PHP 插入除主键外的所有数据,主键是 mysql 自动递增的。问题是我想将信息插入两个表中,并且这些表必须能够关联。有没有办法让 PHP 在 mysql 的一个表中创建一个条目,然后从第一个表中找出增量主键值,以便将其插入到第二个 mysql 表中作为参考?
【问题讨论】:
是的。这当然是可行的。您用于获取刚刚插入的自动递增值的函数/方法将取决于您从 PHP 访问 MySQL 的方式。如果您使用mysql_ 函数,请使用mysql_insert_id()。如果您使用mysqli_ 函数(或OO 版本),请使用mysqli_insert_id()。如果您使用 PDO,请使用 PDO::lastInsertId()。在所有情况下,该函数都委托给连接本地的 MySQL 函数 last_insert_id(),因此您不必担心并发线程相互干扰。
【讨论】:
【讨论】:
要为第一个表插入唯一 ID,您可以使用 LAST_INSERT_ID() 并将其保存为第二个表的参考:
SELECT LAST_INSERT_ID();
我想将此作为另一种选择。对于 PHP,您可以按照建议使用 mysql_insert_id :)
【讨论】: