INSERT INTO登录(ID)VALUES((SELECT COUNT(ID)FROM登录))不工作

时间:2013-10-06 16:21:35

标签: php mysql sql mysqli

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

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

这是错误消息: #1093 - 您无法在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;
    }

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

1 个答案:

答案 0 :(得分:3)

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

相关问题