这是我的查询,不会中断-但也不起作用。谁能告诉我我在做什么错?

$sql_query="UPDATE requests
            SET Playlisted=1,
                ROWorder=(SELECT MAX(ROWorder) + 1)
            WHERE IDrequests=".$_GET['Playlisted_id'];

最佳答案

您需要在子查询中进行汇总:

UPDATE requests r CROSS JOIN
       (SELECT MAX(ROWorder) as maxro FROM requests) rr
    SET Playlisted = 1,
        ROWorder= maxrr  + 1
    WHERE IDrequests = ".$_GET['Playlisted_id'];


那应该解决语法问题。现在尚不清楚该代码应该做什么。通常,使用insert列在auto_increment上处理这种类型的操作,但是您可能还有其他用例。

关于mysql - 将“ROWorder”中的值设置为“ROWorder” +1中的最大值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43596033/

10-16 02:13