MySQL更新列错误

MySQL更新列错误,mysql,Mysql,我想在现有MySQL列中插入一个图像路径,其中id为max,但它不起作用。当我提到任何特定的id时,它正在工作。但我想插入id为max的位置。请帮助我。我很困惑。 我尝试了以下命令: UPDATE mytable SET image='$path' WHERE id=(SELECT max(id) FROM table) UPDATE mytable SET image='$path' WHERE id=(SELECT max(id) FROM mytable) 没有工作。请尝试此查询。希望这

我想在现有MySQL列中插入一个图像路径,其中id为max,但它不起作用。当我提到任何特定的id时,它正在工作。但我想插入id为max的位置。请帮助我。我很困惑。 我尝试了以下命令:

UPDATE mytable SET image='$path' WHERE id=(SELECT max(id) FROM table)
UPDATE mytable SET image='$path' WHERE id=(SELECT max(id) FROM mytable)

没有工作。

请尝试此查询。希望这能解决你的问题

$sql=$mysqli->prepare("select max(id) from tablename");
$sql->execute();
$sql->bind_result($check);
$sql->fetch();
$sql->close();
$sql=$mysqli->prepare("update tablename set imagepath=? where id=?);
$sql->bind_param("si",$imagepath,$check);
$sql->execute();
$sql->close();
UPDATE mytable SET image='$path' ORDER BY id DESC LIMIT 1 

请尝试此查询。希望这能解决你的问题

UPDATE mytable SET image='$path' ORDER BY id DESC LIMIT 1 

不工作是什么意思?我的意思是路径没有保存在image列中。我想你不能在FROM子句中为update指定目标表。不工作是什么意思?我的意思是路径没有保存在image列中。我想你不能在FROM子句中为update指定目标表。这太复杂了。是否有任何简单的方法可以在id列为max的现有列中插入路径。您不能在FROM子句中为update指定目标表名。这意味着您不能在where子句中指定要在其中执行更新的tablename。因此,上述解决方案简单易行。只需获取最大id并将其放入更新查询。您无需执行任何操作。check变量将使用php为您完成此操作。它将自动获取最大id。您也可以使用下面的另一个答案:UPDATE tablename SET image=$image WHERE id=选择id FROM SELECT MAX id AS id FROM tablename AS t一些错误即将出现解析错误:语法错误,意外的'si't\u字符串这太复杂了。是否有任何简单的方法可以在id列为max的现有列中插入路径。您不能在FROM子句中为update指定目标表名。这意味着您不能在where子句中指定要在其中执行更新的tablename。因此,上述解决方案简单易行。只需获取最大id并将其放入更新查询。您无需执行任何操作。check变量将使用php为您完成此操作。它将自动获取最大id。您也可以使用下面的另一个答案:UPDATE tablename SET image=$image WHERE id=选择id FROM SELECT MAX id AS id FROM tablename AS t t出现一些错误解析错误:语法错误,意外的'si't\u字符串