Das ist meine SQL-Abfrage:
DELETE gur FROM group_master gm JOIN group_users gu ON gu.group_id=gm.id JOIN group_user_roles gur ON gur.group_user_id=gu.id WHERE gm.school_code = 14741359 AND gm.ayid=3 LIMIT 1;
Ich erhalte die Fehlermeldung, dass in der N?he von LIMIT ein Syntaxfehler vorliegt. Ich habe hier eine L?sung gefunden: DELETE mit LEFT JOIN mit LIMIT in MySQL. Ich kann die Abfrage nicht in eine Select-Anweisung umwandeln.
只有單表DELETE支持LIMIT。
將查詢用作帶有 LIMIT 的 SELECT 并獲取行的 ID(記住 - 沒有 ORDER BY 的 LIMIT 是一種彩票)。然后從另一個(gè)表副本中刪除相應(yīng)的行。
DELETE group_user_roles FROM group_user_roles JOIN (SELECT gur.id FROM group_master gm JOIN group_users gu ON gu.group_id=gm.id JOIN group_user_roles gur ON gur.group_user_id=gu.id WHERE gm.school_code = 14741359 AND gm.ayid=3 /* ORDER BY ??? */ LIMIT 1 ) USING (id)
將 id
替換為 group_user_roles
表的主鍵或唯一列/表達(dá)式。