J'essaie de supprimer de quelques tables à la fois. Je l'ai fait un peu de recherche, et est venu avec cetteComment supprimer de plusieurs tables dans MySQL?
DELETE FROM `pets` p,
`pets_activities` pa
WHERE p.`order` > :order
AND p.`pet_id` = :pet_id
AND pa.`id` = p.`pet_id`
Cependant, je reçois cette erreur
Uncaught Database_Exception [1064]: Vous avez une erreur dans votre syntaxe SQL; consultez le manuel qui correspond à votre version du serveur MySQL pour la bonne syntaxe à utiliser près de « p, pa ...
pets_activities
Je ne l'ai jamais fait une table croix supprimer avant, donc je suis inexpérimenté et coincé pour à présent!
Qu'est-ce que je fais mal?
J'ai essayé cette "suppression all in 1 requête" avec 6 grandes tables (tout le monde environ ~ 15k lignes) et la requête a pris 155 secondes pour supprimer 63 lignes dans 6 tables: O – techouse
@cadman Ceci est la vraie bonne réponse; il peut y avoir des arguments contre l'utilisation, mais il est très utile à l'occasion –
+1 Je suis d'accord que cela dans la vraie vraie réponse, puisque la question n'était pas "devrait vous" mais "comment". Cependant, je serais intéressé d'entendre parler du 1% parce que je ne peux pas penser à une seule situation où cela serait préférable. –