【问题标题】:Storing Auto-Incremented ID when using PDO for MySQL使用 PDO for MySQL 时存储自动递增的 ID
【发布时间】:2013-08-10 02:50:49
【问题描述】:

我将 PDO 与 MySQL 一起使用。我正在插入一个 ID 字段设置为自动增量的表。我想存储该值以在下一行中重用。我该怎么做?

【问题讨论】:

    标签: php mysql pdo


    【解决方案1】:

    来自 PHP 手册:

    返回最后插入的行的 ID,或来自序列对象的最后一个值,具体取决于底层驱动程序。例如,PDO_PGSQL 要求您为 name 参数指定序列对象的名称。

    return $db->lastInsertId('yourIdColumn');
    

    【讨论】:

    • 如果两个用户同时插入一些东西,这将如何工作?这是否意味着 user1 的进程将使用 user2 的插入 ID(例如)?
    • @BillKarwin 在我的表中,我总是使用列名 userId 来存储进行插入/更新的用户 ID,我使用这样的查询,SELECT max(id) From Table Where userid ='$UserID' 与 PDO/mysqli/whatever I don'不知道这是不是最好的方法。
    • @rar: 不,因为它不是返回整个表中最后插入的 ID,而是返回 PDO 对象 $db 上最后插入的 ID,它只属于运行该对象的用户过程。
    猜你喜欢
    • 1970-01-01
    • 2014-10-01
    • 2020-02-01
    • 2016-02-19
    • 1970-01-01
    • 2013-08-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多