【问题标题】:PHP + MySQL - create ID based on current values in databasePHP + MySQL - 根据数据库中的当前值创建 ID
【发布时间】:2012-11-08 11:27:09
【问题描述】:

Google 让我失望了,所以我寻求专家帮助 :)

假设我有一个由“ID”和“Name”组成的数据库。 目前在这个数据库中我有这些记录:

001 - 约翰

002 - 埃里克

003 - 凯西

为了生成下一个 ID,我在 mysql 中使用了 COUNT 并在 php 中加了 1,但我显然没有考虑到可以删除用户。如果 002 - Eric 被删除,脚本将尝试使用已经存在的 ID 003。

有什么方法可以检查吗?我想出了一个遍历值的while循环,但是如果数据库很长,这可能会占用太多资源(而且我不确定要循环什么)?

到目前为止,我有这个:

SELECT COUNT(id) FROM users
$id = $thecount + 1;

【问题讨论】:

    标签: php mysql unique auto-generate


    【解决方案1】:

    您可以将 ID 字段的数据类型设置为 AUTOINCREMENT,但如果出于某种原因需要在 PHP 中执行此操作,您最好执行以下操作:

    SELECT MAX(id) FROM users
    $id = $thecount + 1;
    

    虽然我建议您改用 AUTOINCREMENT 数据类型。

    【讨论】:

    • AUTOINCREMENT 确实有点用,但如果我想再次使用 ID 002 怎么办?
    • 如果它是一个用户表,或者是关系数据库中的任何表,我不建议重用 ID 值。我只会使用AUTOINCREMENT
    猜你喜欢
    • 1970-01-01
    • 2018-10-28
    • 1970-01-01
    • 1970-01-01
    • 2021-11-10
    • 2018-03-01
    • 2019-12-13
    • 1970-01-01
    • 2022-01-22
    相关资源
    最近更新 更多