php - 使用php为mysql数据库生成一个随机id

标签 php mysql

我到处搜索都没有找到答案。

我正在尝试为我的用户插入一个介于 9999,99999999 之间的随机 ID 号。问题是它们必须是独一无二的。我已设置好所有内容,但为 id 设置了自动增量。我想我会保留自动递增字段并为唯一 ID 添加另一行。

这是我到目前为止得到的:

$id = mt_rand(9999,99999999);

    $query = "SELECT * FROM accounts";

    $result = mysql_query($query) or die(mysql_error());

    while($account = mysql_fetch_array($result)){

        if ($id == $account['id']){

    $id = mt_rand(9999,99999999);

    } else {

    $sql = "INSERT INTO accounts (id, username, email, password, sex)
    VALUES ('$id', '$username', '$email', '$password', '$sex')";
    mysql_query($sql);}}

现在我想如果我创建一个随机数,检查数据库是否存在创建另一个,否则插入它,但它不起作用,如果它是一个简单的解决方案我很抱歉。

再次感谢:)

最佳答案

这似乎是一个愚蠢的答案:

如果您已经在唯一键上使用auto_increment,则无需添加另一个唯一键

关于php - 使用php为mysql数据库生成一个随机id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5504270/

相关文章:

mysql - 使用 SSL 的 JDBC 连接到 MySQL 的命令字符串

php - 检查数据库列中是否存在部分字符串

android - 使用 ODBC 和 ASP 将我的 Android 应用程序连接到 MySQL

php - 如何下载MongoDB 3.0?

php - 比较字段并获取百分比

php - 防止使用PHP注入(inject)SQL

php - 欧芹表单未提交

mysql - 如何理解解决 MyISAM FK 问题的方法?

php - 高效更新mysql数据库数据

mysql - 仅从特定类别父 ID 中删除 woocommerce 产品