![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 1 798 Pomógł: 307 Dołączył: 13.05.2009 Skąd: Gubin/Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Witam, borykam się z pewnym problemem, aktualizacji danych w 2 tabelach. Najlepiej chyba będzie przedstawić to na przykładzie użytkowników. Podstawowa tabela users w której są podstawowe dane, i druga tabela custom_field w której są dane które użytkownik może a nie musi uzupełniać. Jeżeli przykładowo wykonam takie zapytanie:
Kod UPDATE users LEFT JOIN custom_field ON (id=user_id) SET custom_column="some" WHERE id=1 gdzie custom_column jest kolumną z tabeli custom_field, dane się zaktualizują o ile istnieje rekord w tabeli custom_field. Zależy mi na tym aby nie było aliasów do tabel oraz na tym aby nie pojawiał się rekord w custom_field, o ile tych danych nie potrzebuje tam zapisać. I problem w tym że nie wiem jak to elegancko ogarnąć. Bo mogę sprawdzić czy dane podawane do aktualizacji, są z tabeli custom_field i następnie sprawdzić czy istnieje odpowiedni rekord jeżeli nie to go utworzyć. A całość chciałbym przerzucić na sql, aby to on dodawał rekord przed aktualizacją, jeżeli w powyższym przypadku user_id będzie null. Nie wiem czy jest to możliwe do zrobienia z poziomu samego sql'a, i czy jest dobre. Dzięki z góry za pomoc. Ten post edytował by_ikar 30.08.2011, 14:10:53 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 19.07.2025 - 05:30 |