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.