Impossible d'utiliser LIMIT delete dans la requête de jointure mysql entre plusieurs tables
P粉180844619
P粉180844619 2024-04-01 10:21:30
0
1
521

Voici ma requête SQL :

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;

Je reçois une erreur indiquant qu'il y a une erreur de syntaxe proche de LIMIT. J'ai trouvé une solution ici : DELETE en utilisant LEFT JOIN avec LIMIT dans MySQL. Je ne parviens pas à convertir la requête en instruction select.

P粉180844619
P粉180844619

répondre à tous(1)
P粉166675898

Une seule table DELETE prend en charge LIMIT.

Utilisez la requête comme SELECT avec LIMIT et obtenez l'ID de la ligne (rappelez-vous - LIMIT sans ORDER BY est une loterie). Supprimez ensuite les lignes correspondantes de l’autre copie du tableau.

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)

sera id 替换为 group_user_roles la clé primaire ou la colonne/expression unique de la table.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal