錯誤消息顯示連接器不允許多查詢(兩個查詢作為一批發送)。 將變量初始化移到FROM子句中。 SELECT s.level,s.exp,s.number FROM ( SELECT userID, level, exp, ( @ROW_NUMBER:=@ROW_NUMBER + 1 ) AS number FROM levels, (SELECT @ROW_NUMBER := 0) init_variable ORDER BY level DESC ) AS s WHERE userID = "${userID}"; 如果您的MariaDB版本是10.2.1或更高版本,那么在CTE中使用ROW_NUMBER()窗口函數而不是變量。