Bonjour,
J'ai créé une toute petite base de test sous MySQL 5.0 :
Table_a
ida INT PK
Table_b
valb INT PK,
a_ida INT FK Table_a(ida)
Je souhaite supprimer les enregistrements de Table_a n'ayant aucun enregistrement commun en FK sur Table_b.
J'ai donc tenté un
Mais j'ai une erreur de syntaxe, sans autre explication. Je ne sais pas si c'est réellement de la syntaxe, si cette opération est possible avec un DELETE ou si c'est à cause de la table Table_a qui est à la fois la cible de la modification et fait également partie de la sous requête.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 DELETE FROM Table_a JOIN ( select ida, count(a_ida) AS c from Table_a left join Table_b on ida = a_ida group by ida having c = 0 ) AS sr on sr.ida = Table_a.ida
Merci si vous pouvez m'éclairer.
C. Tobini
Partager