Nauka języka SQL, przepraszam, jeśli to jest elementarne. Próbuje dowiedzieć się działający UPDATE
rozwiązania poniższego pseudoish Kod producenta:AKTUALIZACJA Składnia z ORDER BY, LIMIT i wieloma tabelami
UPDATE tableA
SET tableA.col1 = '$var'
WHERE tableA.user_id = tableB.id
AND tableB.username = '$varName'
ORDER BY tableA.datetime DESC LIMIT 1
Powyższe jest bardziej jak SELECT
składni, ale jestem po prostu staramy się aktualizować pojedynczą wartość kolumny w najnowszej rzędu z TABLEA, gdzie nazwa użytkownika znaleziona w tableB.username (reprezentowana przez $ varName) jest powiązana z jej numerem identyfikacyjnym w tableB.id, który istnieje jako identyfikator w tableA.user_id.
Mam nadzieję, że ma to sens. Zgaduję, że jakiś rodzaj JOIN
jest konieczny, ale podzapytania wydają się kłopotliwe dla UPDATE
. Rozumiem, i LIMIT
są wyłączone, gdy wiele tabel są zaangażowane w UPDATE ... Ale potrzebuję funkcjonalności. Czy istnieje sposób obejścia tego?
Trochę zagubiony, z góry dzięki.
+1 za odpowiedź na własne pytanie –
** Uwaga: ** To nie działa dla tabel tymczasowych - od instrukcji: 'Nie można odwołać się do tabeli TYMCZASOWEJ więcej niż jeden raz w tym samym zapytaniu. –