Co robi instrukcja MySQL USING
i czy są w niej jakieś dokumenty?Co zawiera instrukcja USING MySQL w połączeniu z DELETE?
MySQL za pomocą przykładu oświadczenie
DELETE FROM l, s
USING l
INNER JOIN s ON s.skill_id = l.id
WHERE s.user_id = 3
Co robi instrukcja MySQL USING
i czy są w niej jakieś dokumenty?Co zawiera instrukcja USING MySQL w połączeniu z DELETE?
MySQL za pomocą przykładu oświadczenie
DELETE FROM l, s
USING l
INNER JOIN s ON s.skill_id = l.id
WHERE s.user_id = 3
W DELETE można wyświetlać tabele po klauzuli USING, z której wiersze nie są usuwane (tj. Mogą być tylko częścią klauzuli WHERE). Na przykład:
DELETE FROM t1, t2
USING t1
INNER JOIN t2
INNER JOIN t3
WHERE t1.id=t2.id AND
t2.id=t3.id;
Twój Szczególnym przykładem może być osiągnięty bez użycia w ten sposób:
DELETE l,s
FROM l
INNER JOIN s
ON s.skill_id = l.id
WHERE s.user_id = 3
Klauzula USING służy do ustalenia kryteriów egzystencję kolumn dla dwóch tabel JOIN.
Więc jeśli mam oświadczenie takie jak:
SELECT * from a
JOIN b
USING (c1,c2)
...
co stanie się to, że silnik MySQL będzie najpierw sprawdzić, czy kolumny c1
i c2
istnieć w obu tabelach, a następnie porównać wartości tych kolumn aby wykonać połączenie na dwóch tabelach.
Zobacz dokumentację MySQL dla JOIN Syntax.
Że to kolejne użycie stwierdzenia USING, ale nie tego, do którego się odnosi w jego pytaniu. –
LOL wow Jestem 0 dla 2 dzisiaj na czytanie, co OPs faktycznie proszą ... –
Wyszukaj USING
w dokumentacji MySQL dla DELETE. To tylko alternatywna składnia.
składni dla USING
rachunku -
DELETE [LOW_PRIORITY] [QUICK] [IGNORE]
FROM tbl_name[.*] [, tbl_name[.*]] ...
USING table_references
[WHERE where_condition]
Informacje szczegółowe wizyty USING
Nie, użycie opcji 'USING' w pytaniu jest częścią składni DELETE z wieloma tabelami. –
Tak zaktualizowałem mój kod zgodnie z tym. :) – Alpesh
W pierwszym przykładzie, wiersze od 11, jak również t2 zostaną usunięte. Wydaje się to przeczyć Twojemu wyjaśnieniu ("możesz wyświetlać tabele po klauzuli USING, z której wiersze nie ** zostają usunięte"). – klokop