如果我通过PHP执行以下MySQL查询:
UPDATE pictures
SET category = '0'
WHERE category = '$categoryID'
AND username = '$username'";
$queryUncat = mysql_query($uncategorise) or die(mysql_error());
它工作正常,任何等于$ categoryID的类别都会更改为0.但是,如果我执行以下操作:
UPDATE pictures
SET category = '0',
pictureorder = (SELECT COUNT(category) + 1 WHERE category='0' AND username='$username')
WHERE category = '$categoryID'
AND username = '$username'";
$queryUncat = mysql_query($uncategorise) or die(mysql_error());
pictureorder 不仅不等于类别行的count
加一,而且类别不再获取如果等于 $ categoryID ,则更改。我不太擅长解决这个问题,因为我只通过PHP知道基本的MySQL,并且不熟悉它通过自己的控制台。
提前感谢任何建议。
答案 0 :(得分:0)
此查询形式无效。首先,您的子查询缺少FROM
子句。其次,您无法从同一个表中选择要在同一查询中更新的表。