【问题标题】:Max of a coll in my sql我的 sql 中的最大 coll
【发布时间】:2018-05-17 00:07:27
【问题描述】:

我想创建一个注册系统,记录一些来自 html 输入的值到数据库中,我使用以下查询:INSERT INTO Search (id, username, fname, lname, age, fullname) VALUES ('?', '$username', '$fname', '$lname', '$age', '$fullname');

但我不知道每次提交名称时如何增加 id:
see here 我想要类似的东西:

身份证
""""""""""""""""
1
最大+1
新最大值+1

【问题讨论】:

标签: mysql database phpmyadmin increment


【解决方案1】:

你没有;你让它成为一个自动增量列(https://dev.mysql.com/doc/refman/5.7/en/example-auto-increment.html)然后你没有在插入语句中指定它,mysql会自动计算下一个值来输入

【讨论】:

    【解决方案2】:

    创建表时,应将 id 列指定为 AUTO_INCREMENT,如下所示:

    id INTEGER NOT NULL AUTO_INCREMENT
    

    此时您可以更改您的表格。

    您绝对不应该手动 IMO。 您还应该考虑将其声明为 PRIMARY KEY。

    【讨论】:

      【解决方案3】:

      运行以下命令: ALTER TABLE Search CHANGE COLUMN id id INT(11) UNSIGNED NOT NULL AUTO_INCREMENT FIRST, ADD PRIMARY KEY (id);

      或执行两个查询: SET @max = 0; INSERT INTO Search (id, username, fname, lname, age, fullname) VALUES (@max:=@max+1, '$username', '$fname', '$lname', '$age', '$fullname');

      【讨论】:

      • 让我浏览一下您使 id 自动递增的部分,但随后在插入中指定了它?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-01-21
      • 2020-07-26
      • 2017-02-13
      • 2018-07-08
      • 2022-10-16
      • 2011-09-17
      • 2020-08-10
      相关资源
      最近更新 更多