Configuré una tabla de prueba para un error que encontré recientemente. Implica el uso de LIMIT al intentar eliminar un solo registro de una tabla MySQL.MySQL LÍMITE en la declaración DELETE
El error del que hablo es "Usted tiene un error en su sintaxis SQL, consulte el manual que corresponde a su versión del servidor MySQL para el sintaxis derecho al uso cerca de 'LIMIT 1' en la línea 1"
La tabla que armé se llama test; tiene 3 columnas, id, nombre y creó. Rellené la tabla con varios registros y luego intenté eliminar uno. A continuación se muestra la declaración que usé para tratar de lograr esto.
DELETE t FROM test t WHERE t.name = 'foo' LIMIT 1
Sin el uso de LIMIT 1, la instrucción se ejecuta muy bien, pero por supuesto no estaría utilizando LÍMITE si no había una necesidad de ella.
Soy plenamente consciente de que puedo usar otra declaración para lograr este DELETE satisfactoriamente. Consulte a continuación: DELETE FROM test WHERE name = 'foo' LIMIT 1
Sin embargo, mi pregunta se centra en por qué la primera afirmación no funciona con LIMIT.
Así que mi pregunta es, ¿qué he hecho incorrectamente con respecto a la primera declaración para generar este error?
"Sin embargo, no puede usar ORDER BY o LIMIT en un DELETE de tablas múltiples". Esto parece responder a mi pregunta. – Andre
sí, no lo leí del OP, pero lo que dices acerca de eliminar de una unión es correcto –