MySQL wstaw ignoruj ​​zduplikowane klucz

MySQL wstaw ignoruj ​​zduplikowane klucz
Często istnieją sprzeczne dane w tabelach lub zestawach wyników. Jest również czasochłonne, aby skorygować, a często należy unikać powtarzających się zapisów. Konieczne jest identyfikacja zduplikowanych rekordów i usuwanie ich z dowolnej tabeli. W tej sekcji omówiono, jak uniknąć zduplikowania danych z pojawienia się w tabeli i jak wyeliminować bieżące duplikaty rekordów. W tym przewodniku będziesz uczyć się, jak korzystać z klauzuli ignoruj ​​wkładkę, aby uniknąć błędu.

Składnia:

Oto składnia dla wkładki ignoruj ​​zapytanie.

>> Wstaw ignoruj ​​do Table_name (col1, col2, col3) wartości (wartość_list), (wartość_list), (wartość_list);

Wstaw ignoruj ​​za pośrednictwem Workbench:

Otwórz swój MySQL Workbench 8.0 z systemu i podłącz go do instancji bazy danych.

W obszarze dowodzenia musisz utworzyć tabelę „pracownik” z czterema kolumnami, w których jedna z nich musi być określona jako „unikalna”. Wypróbuj poniższe zapytanie w obszarze zapytania Navigator, aby utworzyć tę tabelę. Wybierz całe zapytanie i kliknij znak Flash, aby go wykonać.

>> Utwórz tabelę pracownika (Id int podstawowy klucz nie zerowy, nazwa varchar (50) nie null, wiek varchar (50), wynagrodzenie varchar (50), unikalne (id));

Po utworzeniu można znaleźć tabelę „pracownik” na liście pod opcją „Tabele” pod bazą danych „Dane”.

W widoku siatki możesz wprowadzić rekordy bez pisania żadnego zapytania. Otwórz więc widok siatki „Pracownik” i dodaj w niej kilka rekordów, jak pokazano poniżej. Wprowadziliśmy wszystkie unikalne rekordy bez żadnych duplikatów. Naciśnij przycisk „Zastosuj”, aby zastosować zmiany.

Nowe okno zostanie otwarte z odpowiednimi zapytaniami związanymi z zapisami, które wprowadziliśmy powyżej. Ten ekran można nazwać ekranem „recenzji”. Jeśli chcesz coś zmienić, możesz to zrobić tutaj. W przeciwnym razie naciśnij przycisk Zastosuj, aby wykonać zapytania.

Jak widać, zapytanie zostało pomyślnie wykonane, a rekordy są zapisywane w bazie danych i jej tabeli „pracownik”. Wygenerowałoby to błąd, gdybyśmy dodali jakąkolwiek duplikat wartości w kolumnie „id”. Stuknij przycisk „Zakończ”.

Chodziło o widok siatki. Teraz będziemy wstawić rekordy za pośrednictwem strefy zapytania. Tymczasem tym razem wkładaliśmy zduplikowane rekordy, aby sprawdzić wyjście. Próbowaliśmy więc poniżej zapytania „Wstaw”, w którym mamy dwie listy wartości. Obie listy wartości mają tę samą wartość w kolumnie „id”. Wybierz zapytanie i naciśnij znak Flash, aby wykonać zapytanie.

Zapytanie nie będzie działać poprawnie i wygeneruje błąd z powodu zduplikowanych wartości w poleceniu Wstaw, jak wyświetlono na obrazie.

Teraz wypróbuj to samo powyższe zapytanie z klauzulą ​​wkładki ignoruj ​​ją i wykonaj je zgodnie z prezentem.

Widać, że nie generuje błędu w obszarze wyjściowym, ale daje ostrzeżenie, że polecenie zawiera duplikaty wartości.

Odśwież widok siatki „Pracownik”. Insert Ignorate Query działało w połowie. Włożył pierwszą listę wartości do tabeli, ale druga lista wartości została zignorowana ze względu na powtarzaną wartość „13”.

Wstaw ignoruj ​​za pośrednictwem powłoki wiersza polecenia:

Aby zrozumieć tę koncepcję, otwórzmy powłokę klienta linii poleceń MySQL w twoim systemie. Po zapytaniu wpisz swoje hasło MySQL, aby zacząć nad nim pracować.

Teraz nadszedł czas, aby stworzyć stół. Wypróbuj poniższe polecenie, aby to zrobić. Stworzyliśmy tabelę o nazwie „Minister”, podczas gdy jedna z jego kolumn ma unikalne ograniczenie. Oczywiste jest, że kolumna „id” zaakceptuje tylko unikalne wartości, a nie duplikat wartości.

>> Utwórz dane tabeli.Minister (Mid Int Klucz podstawowy Unikalny, a nie NULL, Nazwa Varchar (45), City Varchar (45));

Zapytanie działa odpowiednio, a tabela została utworzona. Aby zrozumieć klauzulę ignoruj ​​wkładkę, musisz najpierw zobaczyć działanie komendy prostej. Jeśli używasz polecenia Insert do wstawienia kilku danych informacyjnych do tabeli, MySQL zawiesza transakcję i generuje wyjątek, jeśli błąd nastąpi podczas przetwarzania. W rezultacie w tabeli nie ma do niego dodanych wierszy. Włóżmy pierwszy rekord w tabeli „Minister” za pomocą zapytania poniżej. Zapytanie będzie działać pomyślnie, ponieważ stół jest obecnie pusty i nie ma żadnych rekordów do odpowiednika.

Ponieważ kolumna „id” jest unikalna, kiedy wypróbujemy poniższą instrukcję na powładzie wiersza polecenia, wygeneruje błąd. Dzieje się tak, ponieważ dodaliśmy wartość „11” w poprzednim zapytaniu, a ze względu na unikalny klucz nie pozwala nam ponownie dodać powtarzanej wartości.

Dlatego podczas sprawdzania tabeli widzimy, że tabela ma tylko 1 rekord dodany przez pierwsze zapytanie do wstawki.

>> Wybierz * z danych.minister;

I odwrotnie, jeśli używasz klauzuli ignoruj ​​wkładkę, nieprawidłowe wiersze danych, które wywołują błąd, zostaną przeoczone i wprowadzą tylko dokładne. W poniższym poleceniu używamy polecenia wstawki Ignoruj, aby uniknąć dodawania powtarzanych wartości do tabeli i przeoczenia błędu. Jak widać, pierwsza lista wartości ma zduplikowaną wartość „11” taka sama jak w poprzednim zapytaniu. Chociaż druga lista wartości jest unikalna, wyświetli 1 rekord wstawiony w tabeli, która jest drugą listą wartości. MySQL wskazuje również, że wprowadzono tylko 1 rekord, a 1 ostrzeżenie jest generowane w wiadomości. Możesz następnie założyć, że jeśli używamy klauzuli ignoruj ​​wkładkę, MySQL zapewnia ostrzeżenie.

Jak widać z poniższego wyjścia, mamy tylko dwa rekordy w tej tabeli -Thethefirst Lista wartości podanych w powyższym zapytaniu, które jest pomijane.

>> Wybierz * z danych.minister;

Wniosek:

Zrobiliśmy wszystkie niezbędne przykłady wstawki Ignoruj ​​na duplikatach za pośrednictwem MySQL Workbench i MySQL Line Line Shell.