MySQL MariaDB

MySQL Vstavi ignoriraj dvojnik ključa

MySQL Vstavi ignoriraj dvojnik ključa
V tabelah ali naborih rezultatov so pogosto nasprotujoči si podatki. Prav tako je dolgotrajno popravljanje in pogosto se je treba izogibati ponavljajočim se zapisom. Potrebno je prepoznati podvojene zapise in jih izbrisati iz obeh tabel. Ta razdelek bo podrobno opisal, kako se izogniti podvajanju podatkov v tabeli in kako odstraniti trenutne podvojene zapise. V tem priročniku boste izvedeli, kako uporabljati stavek INSERT IGNORE, da se izognete napaki.

Sintaksa:

Tu je sintaksa za poizvedbo INSERT IGNORE.

>> INSERT IGNORE INTO table_name (col1, col2, col3) VREDNOSTI (value_list), (value_list), (value_list);

INSERT IGNORE prek Workbencha:

Odprite MySQL Workbench 8.0 iz vašega sistema in ga povežite s primerkom baze podatkov.

V ukaznem območju morate ustvariti tabelo "Zaposleni" s štirimi stolpci, kjer mora biti eden od njih določen kot "UNIQUE". Poskusite spodnjo poizvedbo v področju poizvedbe navigatorja, da ustvarite to tabelo. Izberite celotno poizvedbo in kliknite znak flash, da jo izvedete.

>> USTVARI MIZO Zaposleni (ID int PRIMARNI KLJUČ NI NULL, ime varchar (50) NOT NULL, starost Varchar (50), plača varchar (50), ENOTNA (ID));

Po ustvarjanju lahko najdete tabelo "zaposleni" na seznamu pod možnostjo "Tabele" pod bazo podatkov "podatki".

V mrežni pogled lahko zapise vnesete brez vnašanja poizvedbe. Torej, odprite mrežni pogled tabele »zaposleni« in vanj dodajte nekaj zapisov, kot je prikazano spodaj. Vnesli smo vse edinstvene zapise brez dvojnikov. Pritisnite gumb »Uporabi«, da uveljavite spremembe.

Odprlo se bo novo okno z ustreznimi poizvedbami, povezanimi z zgoraj navedenimi zapisi. Ta zaslon lahko imenujemo zaslon za pregled. Če želite nekaj spremeniti, lahko to storite tukaj. V nasprotnem primeru pritisnite gumb Uporabi za izvedbo poizvedb.

Kot lahko vidite, je bila poizvedba uspešno izvedena, zapisi pa se shranijo v bazo podatkov in njeno tabelo "Zaposleni". Napaka bi bila, če bi v stolpec »ID« dodali podvojeno vrednost. Dotaknite se gumba »Finish«.

Vse je bilo v pogledu mreže. Zdaj bomo zapise vstavljali prek področja poizvedbe. Medtem smo tokrat vstavili podvojene zapise, da bi preverili izhod. Tako smo preizkusili spodnjo poizvedbo »INSERT«, kjer imamo dva seznama vrednosti. Oba seznama vrednosti imata enako vrednost v stolpcu 'ID'. Izberite poizvedbo in pritisnite tipko flash, da izvedete poizvedbo.

Poizvedba ne bo delovala pravilno in povzročila bo napako zaradi podvojenih vrednosti v ukazu INSERT, kot je prikazano na sliki.

Zdaj poskusite isto zgornjo poizvedbo s klavzulo INSERT IGNORE in jo izvedite, kot je predstavljeno.

Vidite lahko, da v izhodnem območju ne povzroča napake, vendar daje opozorilo, da ukaz vsebuje podvojene vrednosti.

Osvežite mrežni pogled tabele "Zaposleni". Poizvedba INSERT IGNORE je delovala polovično. V tabelo je vstavil prvi seznam vrednosti, drugi seznam vrednosti pa je bil zaradi ponovljene vrednosti "13" prezrt.

INSERT IGNORE prek lupine ukazne vrstice:

Da bi razumeli ta koncept, v vašem sistemu odprite odjemalsko lupino ukazne vrstice MySQL. Na vprašanje vnesite geslo MySQL, da začnete z njim delati.

Zdaj je čas za ustvarjanje tabele. Poskusite spodnji ukaz, da to storite. Ustvarili smo tabelo z imenom 'minister', medtem ko ima eden od njenih stolpcev UNIQUE omejitev. Jasno je, da bo stolpec »ID« sprejel samo enolične vrednosti in ne podvojenih vrednosti.

>> USTVARI podatke v TABELI.minister (sredina INT PRIMARNI KLJUČ UNIQUE NOT NULL, ime VARCHAR (45), mesto VARCHAR (45));

Poizvedba deluje pravilno in tabela je bila ustvarjena. Da bi razumeli stavek INSERT IGNORE, morate najprej videti, kako deluje preprost ukaz INSERT. Če z ukazom INSERT v tabelo vstavite več podatkovnih podatkov, MySQL zaustavi transakcijo in ustvari izjemo, če se med obdelavo zgodi napaka. Posledično tabela nima dodanih vrstic. Vstavimo prvi zapis v tabelo "minister" z uporabo spodnje poizvedbe. Poizvedba bo delovala uspešno, ker je tabela trenutno prazna in ni nobenega zapisa, ki bi ji lahko ustrezal.

Ker je stolpec »ID« ENOTEN, ko poskusimo spodnje navodilo na lupini ukazne vrstice, bo ustvarilo napako. To je zato, ker smo v prejšnji poizvedbi dodali vrednost "11", zaradi ključa UNIQUE pa nam ne dovoli ponovne dodajanja vrednosti.

Tako lahko pri preverjanju tabele vidimo, da ima tabela samo 1 zapis, dodan s prvo poizvedbo INSERT.

>> IZBERI * IZ podatkov.minister;

Nasprotno, če uporabljate stavek INSERT IGNORE, bodo napačne podatkovne vrstice, ki sprožijo napako, prezrte in bodo vnesle samo natančne. V spodnjem ukazu smo z ukazom INSERT IGNORE preprečili dodajanje ponavljajočih se vrednosti v tabelo in spregledali napako. Kot lahko vidite, ima prvi seznam vrednosti podvojeno vrednost "11", enako kot v prejšnji poizvedbi. Medtem ko je drugi seznam vrednosti enoličen, bo v tabeli prikazan 1 zapis, ki je drugi seznam vrednosti. MySQL tudi označuje, da je bil vstavljen samo 1 zapis, v sporočilu pa se ustvari 1 opozorilo. Nato lahko domnevate, da če uporabljamo klavzulo INSERT IGNORE, MySQL daje opozorilo.

Kot lahko vidite iz spodnjega izhoda, imamo v tej tabeli le dva zapisa - prvi seznam vrednosti iz zgornje poizvedbe, ki je spregledan.

>> IZBERI * IZ podatkov.minister;

Zaključek:

Vse potrebne primere INSERT IGNORE za podvojene vrednosti smo opravili prek MySQL Workbench in odjemalske lupine ukazne vrstice MySQL.

Zaslonska sledilna ploščica in kazalec miške AppyMouse za tablične računalnike Windows
Uporabniki tabličnih računalnikov pogosto zgrešijo miškin kazalec, še posebej kadar običajno uporabljajo prenosne računalnike. Pametni telefoni in tab...
Srednji gumb miške ne deluje v sistemu Windows 10
The srednji gumb miške vam pomaga, da se pomikate po dolgih spletnih straneh in zaslonih z veliko podatkov. Če se to ustavi, boste na koncu uporabili ...
Kako spremeniti levi in ​​desni gumb miške na računalniku z operacijskim sistemom Windows 10
Povsem normalno je, da so vse naprave računalniške miške ergonomsko zasnovane za desničarje. Na voljo pa so miške, ki so posebej zasnovane za levičarj...