我正在尝试将数据插入到我的表中,这样 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;
}
但我正在寻找一种方法来使用一个命令来完成此操作。提前致谢。
最佳答案
我建议您将id
设为表的主键并启用AUTO_INCREMENT .然后您可以从查询中删除 id
列,增加的 id 将自动添加。
关于php - INSERT INTO logins (ID) VALUES ((SELECT COUNT(ID) FROM logins)) 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19211057/