0

我正在尝试将数据插入到我的表中,这样 id 字段比我以前的最大 id 多一个。例如,如果我注册了 21 个用户并添加了另一个用户,那么该用户的 id 将为 21(注意我的 id 从 0 开始)。我试过这个:

mysqli_query($con,"INSERT INTO logins (ID,UserName)
                VALUES ((SELECT COUNT(ID) FROM logins),'$username')");

这是错误消息:#1093 - You can't specify target table 'logins' for update in FROM 子句

我也试过这个有效:

$result=mysqli_query($con,"SELECT ID FROM logins WHERE ID=(SELECT MAX(ID) FROM logins)");
    while ($db_field = mysqli_fetch_assoc($result)) 
    {
        $id=$db_field['ID']+1;
        mysqli_query($con,"INSERT INTO logins (ID, UserName)
              VALUES ('$id','$username'");
        break;
    }

但我正在寻找一种方法来用一个命令来做到这一点。提前致谢。

4

1 回答 1

3

我建议您id将表设为主键并启用AUTO_INCREMENT。然后,您可以从查询中删除该id列,并且会自动添加增加的 id。

于 2013-10-06T16:24:25.860 回答