【问题标题】:Get largest value from mySQL table and increase by one从mySQL表中获取最大值并加一
【发布时间】:2017-10-22 15:47:05
【问题描述】:

我希望添加一个函数,该函数将从表中的特定列中获取最大数字,并在执行 INSERT 查询之前添加到该列中。 (我不能让它自动递增,因为几个条目需要具有相同的值,这是通过 if 语句控制的)但是它没有这样做并且不会根据最高值将其增加 1。

$max = "SELECT MAX(LocationID) FROM boss";
$result = mysqli_query($connection, $max);
$locID = $result+1;

$query = "INSERT INTO boss (ID, Name, Type, Location, LocationID, Difficulty) VALUES ('0', '$boss', '$type', '$loc', '$locID', '$diff')";

【问题讨论】:

  • 你忘了问问题
  • 还有……你忘了看 MySQL 教程或示例。
  • 如果不符合其他 if 语句之一,我只需将最大值加 1。
  • 没有人需要这样做 :-(

标签: php mysql


【解决方案1】:

您不需要为此使用两个查询,您可以在 INSERT 查询中进行。

$query = "INSERT INTO boss (ID, Name, Type, Location, LocationID, Difficulty)
    SELECT '0', '$boss', '$type', '$loc', MAX(locationID)+1, '$diff'
    FROM boss";

【讨论】:

  • 这仍然是一个糟糕的主意。 :-(
  • @Strawberry 同意,看来他应该能够为此使用自动增量列。
【解决方案2】:

您忘记获取结果

$max = "SELECT MAX(LocationID) as m FROM boss";
$result = mysqli_query($connection, $max);
$result = mysqli_fetch_array($result);
$locID = $result[0]+1;

【讨论】:

    猜你喜欢
    • 2023-03-24
    • 2012-08-13
    • 1970-01-01
    • 1970-01-01
    • 2016-06-14
    • 1970-01-01
    • 2013-05-16
    • 2021-03-01
    • 1970-01-01
    相关资源
    最近更新 更多