J'ai mis en place une table de test pour une erreur que j'ai récemment rencontrée. Cela implique l'utilisation de LIMIT lorsque vous essayez de supprimer un seul enregistrement d'une table MySQL.MySQL LIMIT sur l'instruction DELETE
L'erreur dont je parle est « Vous avez une erreur dans votre syntaxe SQL, consultez le manuel qui correspond à votre version du serveur MySQL pour la bonne syntaxe à utiliser à proximité « LIMIT 1 » à la ligne 1 »
Le tableau que j'ai mis ensemble est appelé test; il a 3 colonnes, id, nom et créé. J'ai peuplé la table avec plusieurs enregistrements, puis j'ai tenté d'en supprimer un. Voici la déclaration que j'ai utilisée pour essayer d'accomplir ceci.
DELETE t FROM test t WHERE t.name = 'foo' LIMIT 1
Sans l'utilisation de LIMIT 1, la déclaration ne fait qu'exécuter bien, mais bien sûr, je ne serais pas l'utilisation de LIMIT s'il n'y avait pas besoin. Je suis pleinement conscient que je peux utiliser une autre instruction pour accomplir cette DELETE avec succès. Voir ci-dessous: DELETE FROM test WHERE name = 'foo' LIMIT 1
Cependant, ma question est centrée sur pourquoi la première instruction ne fonctionne pas avec LIMIT.
Donc, ma question est, ce que j'ai fait incorrectement en ce qui concerne la première déclaration pour générer cette erreur?
"Cependant, vous ne pouvez pas utiliser ORDER BY ou LIMIT dans un DELETE à plusieurs tables". Cela semble répondre à ma question. – Andre
oui - désolé n'a pas lu cela de l'OP mais ce que vous dites sur la suppression d'une jointure est correct –