我可以使MySQL var等于MySQL命令吗?

时间:2011-08-14 20:49:06

标签: php mysql

如果我通过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,并且不熟悉它通过自己的控制台。

提前感谢任何建议。

1 个答案:

答案 0 :(得分:0)

此查询形式无效。首先,您的子查询缺少FROM子句。其次,您无法从同一个表中选择要在同一查询中更新的表。

http://dev.mysql.com/doc/refman/5.1/en/update.html