【问题标题】:How to get MySQL value from certain row?如何从特定行获取 MySQL 值?
【发布时间】:2013-03-21 10:47:23
【问题描述】:

我有一个有 5 行的表。每次用户在表单中输入数据时,都会将其输入到表格中。我的第一列名为id,其中包含帖子的编号。我想要做的是从上一行获取id 的值,添加一个并将其设置为当前帖子的id 字段中的值。我该怎么做?

【问题讨论】:

  • 您没有使用AUTO_INCREMENT 列是否有原因?
  • 为什么不使用自增?
  • @lc。不知道它的存在。 mysql新手在这里:/

标签: php mysql


【解决方案1】:

只需将该字段设置为primary keyauto-increment,它会自动为您执行此操作。您不必将fetch the previous rowaddfield value 发送到下一个。

【讨论】:

    【解决方案2】:

    您需要的 SQL 查询是:

    SELECT max(id) 
    FROM tableName;
    

    【讨论】:

    • 是的,@Dead Man 的回答显然也会帮助你:)
    【解决方案3】:

    为包含 5 列的表中的“ID”字段设置属性auto increment

    【讨论】:

      【解决方案4】:

      你可以像使用sql查询

      "INSERT INTO my_table (id auto_increment,primary key(id))";
      

      那么你就可以得到...

      而且每次你​​不用担心插入 id ,它会自动递增

      【讨论】:

        【解决方案5】:

        我不建议这样做,因为它可能导致race condition

        更改表结构并将id字段设置为primary key并设置为auto increment。这样,无论何时添加新行,都会自动为其分配下一个 ID。

        有关如何设置自动增量的详细信息,请参阅this answer

        【讨论】:

          【解决方案6】:

          这是更改表的查询,它将您的字段或列设置为主键并自动递增。

          ALTER TABLE tbl ADD id INT PRIMARY KEY AUTO_INCREMENT;
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2020-10-10
            • 1970-01-01
            • 1970-01-01
            • 2013-05-13
            • 1970-01-01
            • 2017-09-19
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多