【问题标题】:How to display an incremental value that was just created in mysql如何显示刚刚在mysql中创建的增量值
【发布时间】:2011-05-31 03:28:16
【问题描述】:

我有一个 PHP 脚本,它可以在 mysql 数据库中创建一个条目。 PHP 插入除主键外的所有数据,主键是 mysql 自动递增的。问题是我想将信息插入两个表中,并且这些表必须能够关联。有没有办法让 PHP 在 mysql 的一个表中创建一个条目,然后从第一个表中找出增量主键值,以便将其插入到第二个 mysql 表中作为参考?

【问题讨论】:

    标签: php mysql


    【解决方案1】:

    是的。这当然是可行的。您用于获取刚刚插入的自动递增值的函数/方法将取决于您从 PHP 访问 MySQL 的方式。如果您使用mysql_ 函数,请使用mysql_insert_id()。如果您使用mysqli_ 函数(或OO 版本),请使用mysqli_insert_id()。如果您使用 PDO,请使用 PDO::lastInsertId()。在所有情况下,该函数都委托给连接本地的 MySQL 函数 last_insert_id(),因此您不必担心并发线程相互干扰。

    【讨论】:

      【解决方案2】:

      你可以使用:

      mysql_insert_id()
      

      这将返回上一个查询的 id。见下文:

      http://php.net/manual/en/function.mysql-insert-id.php

      【讨论】:

        【解决方案3】:

        要为第一个表插入唯一 ID,您可以使用 LAST_INSERT_ID() 并将其保存为第二个表的参考:

        SELECT LAST_INSERT_ID();
        

        我想将此作为另一种选择。对于 PHP,您可以按照建议使用 mysql_insert_id :)

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2010-11-15
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2010-10-10
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多