php - INSERT INTO logins (ID) VALUES ((SELECT COUNT(ID) FROM logins)) 不工作

标签 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;
    }

但我正在寻找一种方法来使用一个命令来完成此操作。提前致谢。

最佳答案

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

关于php - INSERT INTO logins (ID) VALUES ((SELECT COUNT(ID) FROM logins)) 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19211057/

相关文章:

php - 当用户更新文本框值时更新 mysql

php - SimpleXmlElement 无法获取项目

Mysql,清理遗留问题

mysql - 单个 SQL 表的聚合计算查询

sql - 将 SQL 表与自身进行比较(自联接)

PHP Setters/Getters 和构造函数

php - 什么是 php/mysql 中的节点 ID?

php - symfony smtp - 无法与主机建立连接

mysql - 左连接语句中子查询的重复条目

php - Content-Type 什么时候应该是 application/json