Import pliku xml do tabeli - wątpliwości

0

Otóż dla uproszczenia mam bazę mysql (a w zasadzie mariadb) i 2 tabele. W jednej tabeli mam informacje o produktach, takie jak nazwa, producent, kod kreskowy itp. Niestety nie mam ilości produktów. Ilość mam w drugiej tabeli, w której z kolei nie mam pola kodu kreskowego po którym chciałbym importować ilości z zewnętrznego pliku xml. Od razu mówie, że odpada importowanie po ID produktu. Dodatkowa sprawa to taka, że formularz php, wpisuje ilości produktów do jednej tabeli, a kody kreskowe do drugiej. Czy istnieje jakiś sposób, żeby pole z jednej tabeli w przypadku zaktualizowania automatycznie pojawiało się w drugiej tabeli? To pachnie redundancją niestety... Używam navicata do zabawy przy bazie, ewentualnie phpmyadmin, ale męczy mnie sprawa tego importu danych, gdzie wartość po której chce aktualizować jedną tabelę jest w innej tabeli :)
Może jakiś pomysł? Nie ja projektowałem strukturę bazy danych, więc muszę się opierać na tym co jest. Ewentualnie mógłbym spróbować przerobić coś w php, ale nie wiem czy warto.

0

Można:

  1. Rozwiązać problem po stronie aplikacji.
  2. Zastosować coś takiego jak trigger (wyzwalacz) po stronie bazy danych.
0

Zakładam, że twoim parametrem wejściowym do zpaytania jest kod kreskowy znajdujący się w tabeli A, natomiast aktualizować chcesz tabelę B identyfikując towar z tabeli B po kodzie kreskowym z tabeli A. Jeżeli w tabeli B jest ID z tabeli A to załatwisz to jednym joinem więc nie rozumiem po co Ci kod kreskowy w drugiej tabeli ...

0
mariano901229 napisał(a):

Można:

  1. Rozwiązać problem po stronie aplikacji.
  2. Zastosować coś takiego jak trigger (wyzwalacz) po stronie bazy danych.

Co do opcji 1 - może i się da, ale chodzi o preste, więc nie wiem czy komplikować sprawę jeśli są inne rozwiązania
Opcja 2 - jak z tego skorzystać i jak to działa? Widzę w navicacie jest takie coś, ale nie znam się na tym jak to działa...

woolfik napisał(a):

Zakładam, że twoim parametrem wejściowym do zpaytania jest kod kreskowy znajdujący się w tabeli A, natomiast aktualizować chcesz tabelę B identyfikując towar z tabeli B po kodzie kreskowym z tabeli A. Jeżeli w tabeli B jest ID z tabeli A to załatwisz to jednym joinem więc nie rozumiem po co Ci kod kreskowy w drugiej tabeli ...

Dokładnie, w obu tabelach jest ID, z tym, że akurat po nim nie jestem w stanie aktualizować rekordów. Więc jak z tym joinem? Nie znam się za bardzo na poleceniach sql'a, można to jakoś wyklikać?

1
select a.*, b.* from tabelaA a left join tabelaB b on b.ID = a.ID
 where a.kod = :KOD

1 użytkowników online, w tym zalogowanych: 0, gości: 1