Skocz do zawartości

Dodanie nieistniejących rekordów do bazy


arturpio

Rekomendowane odpowiedzi

Witam, mam w tabeli kilka imion niech będzie:

Jola, Ania, Krysia, Janek, Wiesław, Krzysztof

próbuje dodać jednorazowo imiona Artur, Ania, Hania, Ela, Jola, Damian

ale jak dodać tylko te których nie ma?

teoretycznie mógłbym dawać dla każdego imienia

select `imie` from `osoba` where `imie` like `Artur`

i jeśli liczba rekordów = 0 insert ale wydaje m i się to mało optymalne rozwiązaniem przy np próbie dodania imion w ilości np. 100 sztuk.

pomyślałem też że stworzyć tablicę imionaDodaj z imionami które będę chciał dodać, a w select mógłbym użyć w klauzuli where dodać or i dać

select `imie` from `osoba` where `imie` like `Artur` or `imie` like `Ania` or `imie` like `Hania` itd...

wynik wrzucić w tablicę imiona i wyszukać czy elementy które mam w tablicy imionaDodaj znajdują się w tablicy imiona te których nie ma dodaje do bazy przez

insert into osoba (`imie`) values (`imie 1`), (`imie 2`), (`imie 3`) itd....

moje pytania:

  1. Jak porównać zawartość obu tablic i wyciągnąć tylko te imiona z tablicy imionaDodaj których nie ma w tablicy imiona?
  2. Czy trochę nie przekombinowałem, i da się to zrobić prościej bez nakładania Unique na pole tabeli w mysql?
Odnośnik do komentarza
Udostępnij na innych stronach

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę. Warunki użytkowania Polityka prywatności