¿Qué hace la declaración MySQL USING
y hay algún documento sobre esto?¿Qué hace la instrucción MySQL USING junto con DELETE?
MySQL usando el Ejemplo comunicado
DELETE FROM l, s
USING l
INNER JOIN s ON s.skill_id = l.id
WHERE s.user_id = 3
¿Qué hace la declaración MySQL USING
y hay algún documento sobre esto?¿Qué hace la instrucción MySQL USING junto con DELETE?
MySQL usando el Ejemplo comunicado
DELETE FROM l, s
USING l
INNER JOIN s ON s.skill_id = l.id
WHERE s.user_id = 3
En un BORRAR, puede enumerar las tablas después de la cláusula USING, de la que las filas no se eliminan (es decir, que solo forman parte de la cláusula WHERE). Por ejemplo:
DELETE FROM t1, t2
USING t1
INNER JOIN t2
INNER JOIN t3
WHERE t1.id=t2.id AND
t2.id=t3.id;
Su ejemplo particular puede lograrse sin utilizar de esta manera:
DELETE l,s
FROM l
INNER JOIN s
ON s.skill_id = l.id
WHERE s.user_id = 3
La cláusula USING se utiliza para establecer los criterios de existencia de columnas de dos tablas en una combinación.
Por lo tanto, si tengo una sentencia como:
SELECT * from a
JOIN b
USING (c1,c2)
...
lo que sucederá es que el motor MySQL primero verificar que las columnas c1
y c2
existen en ambas tablas, y luego comparar los valores de las columnas para realizar la unión en las dos tablas.
Consulte la documentación de MySQL para JOIN Syntax.
Eso es otro uso de la instrucción USING, pero no la que él está refiriendo a en su pregunta. –
LOL wow Hoy estoy 0 por 2 al leer lo que OPs realmente están pidiendo ... –
Busque USING
en la documentación de MySQL para DELETE. Es solo una sintaxis alternativa.
Sintaxis para USING
declaración -
DELETE [LOW_PRIORITY] [QUICK] [IGNORE]
FROM tbl_name[.*] [, tbl_name[.*]] ...
USING table_references
[WHERE where_condition]
para detallada visita información USING
No, el uso de 'USING' en la pregunta es parte de la sintaxis DELETE de varias tablas. –
Sí, actualicé mi código de acuerdo con eso. :) – Alpesh
En su primer ejemplo, se eliminarán las filas de 11 y t2. Esto parece contradecir su explicación ("puede listar tablas después de la cláusula USING, de la cual las filas ** ** se eliminan"). – klokop