Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [mysql] Update wiersza w oparciu o 2 tabele
Forum PHP.pl > Forum > Przedszkole
Zwariowany
Witam. Mam dwie tabele users i zdjecia. Chciałbym zaktualizować jedną z nich, ale WHERE ma sprawdzać dwie tabele

[SQL] pobierz, plaintext
  1.  
  2. UPDATE `users` SET
  3. `name` = 'ja'
  4. WHERE `users`.`id` = '5'  AND `zdjecia`.`kogo` = '5' LIMIT 1
  5.  
  6.  
[SQL] pobierz, plaintext

Takie zapytanie. Ma updatować jeden wiersz w jednej tabeli, ale sprawdzać warunek w dwóch tabelach.
Niestety to rozwiązanie mi nie działa, może ktoś mi powie dlaczego? ;d
Blame
Brakuje ci apostrofu przy pierwszej 5. Możesz też spróbować usunąć te ciapki i zostawić same apostrofy.
Zwariowany
To mój błąd te apostrofy. Usunięcie tych "ciapków" nic nie da, błąd się pojawia taki:

Unknown column 'zdjecia.kogo' in 'where clause'

Max Damage
  1. UPDATE users LEFT JOIN zdjecia ON users.id = zdjecia.id_user SET users.name = 'ja' WHERE users.id = '5' AND zdjecia.kogo = '5' LIMIT 1
  2.  
Pawel_W
hmm a możesz mi powiedzieć po co jest to `zdjecia`.`kogo` ? przecież to nie jest w żaden sposób powiązane z drugą tabelą...
kusiu
Cytat(Zwariowany @ 2.01.2010, 14:55:33 ) *
Witam. Mam dwie tabele users i zdjecia. Chciałbym zaktualizować jedną z nich, ale WHERE ma sprawdzać dwie tabele

[SQL] pobierz, plaintext
  1.  
  2. UPDATE `users` SET
  3. `name` = 'ja'
  4. WHERE `users`.`id` = '5'  AND `zdjecia`.`kogo` = '5' LIMIT 1
  5.  
  6.  
[SQL] pobierz, plaintext

Takie zapytanie. Ma updatować jeden wiersz w jednej tabeli, ale sprawdzać warunek w dwóch tabelach.
Niestety to rozwiązanie mi nie działa, może ktoś mi powie dlaczego? ;d


Po pierwsze olej `, jak byś pisał w SQLu dłuższe zapytania to pisząc ten znak byś się nieźle spocił, szkoda czasu po prostu. Po drugie jeśli w zapytaniu wpisujesz liczbę INTEGER to nie musisz ją umieszczać w apostrofie.

Pawel_W a czy musi być zdjecia.kogo powiązane z drugą tabelą? Przecież 2 tabele mają wspólny klucz users.id = zdjecia.id_user, to wystarczy zdjecia.kogo sa brane w WHERE przy update
Pawel_W
Cytat(kusiu @ 3.01.2010, 00:29:46 ) *
Po pierwsze olej `, jak byś pisał w SQLu dłuższe zapytania to pisząc ten znak byś się nieźle spocił, szkoda czasu po prostu. Po drugie jeśli w zapytaniu wpisujesz liczbę INTEGER to nie musisz ją umieszczać w apostrofie.

Pawel_W a czy musi być zdjecia.kogo powiązane z drugą tabelą? Przecież 2 tabele mają wspólny klucz users.id = zdjecia.id_user, to wystarczy zdjecia.kogo sa brane w WHERE przy update

dobra, ale to `zdjecia`.`kogo` jest niepotrzebne, bo przecież robisz update do `users` ...
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.