МиСКЛ МариаДБ

МиСКЛ Инсерт Игноре Дуплицате Кеи

МиСКЛ Инсерт Игноре Дуплицате Кеи
У табелама или скуповима исхода често постоје неусаглашени подаци. Такође је дуготрајно исправљање, а често треба избегавати поновљене записе. Идентификовање дупликата записа и њихово брисање из било које табеле је неопходно. Овај одељак ће детаљније објаснити како да се избегне појављивање дуплираних података у табели и како да се елиминишу тренутни дупликати записа. У овом водичу ћете научити како да користите клаузулу ИНСЕРТ ИГНОРЕ да бисте избегли грешку.

Синтакса:

Ево синтаксе за ИНСЕРТ ИГНОРЕ упит.

>> ИНСЕРТ ИГНОРЕ ИНТО име_табеле (цол1, цол2, цол3) ВРЕДНОСТИ (валуе_лист), (валуе_лист), (валуе_лист);

ИНСЕРТ ИГНОРЕ преко Воркбенцха:

Отворите МиСКЛ Воркбенцх 8.0 из свог система и повежите га са инстанцом базе података.

У командном подручју морате да направите табелу „Запослени“ са четири колоне где једна од њих мора бити наведена као „ЈЕДИНСТВЕНА“. Испробајте доњи упит у области упита за навигатор да бисте креирали ову табелу. Изаберите цео упит и кликните на флеш знак да бисте га извршили.

>> СТВОРИ ТАБЕЛУ Запослени (ИД инт ПРИМАРНИ КЉУЧ НИЈЕ НУЛЛ, име варцхар (50) НИЈЕ НУЛЛ, доб Варцхар (50), плата варцхар (50), ЈЕДИНСТВЕНО (ИД));

Након креирања, табелу „запослени“ можете пронаћи на листи испод опције „Табеле“ испод базе података „подаци“.

У приказу мреже можете уносити записе без уписивања упита. Дакле, отворите мрежни приказ табеле „запослени“ и додајте у њу неке записе као што је приказано доле. Унели смо све јединствене записе без дупликата. Притисните дугме „Примени“ да бисте применили промене.

Отвориће се нови прозор са релевантним упитима везаним за записе које смо горе унели. Овај екран се може назвати екраном „Преглед“. Ако желите нешто да промените, можете то да урадите овде. У супротном, притисните дугме Примени да бисте извршили упите.

Као што видите, упит је успешно изведен и записи се чувају у бази података и табели „Запослени“. То би генерисало грешку да смо у колону „ИД“ додали било какву дуплирану вредност. Додирните дугме „Заврши“.

Овде се све радило на мрежном приказу. Сада ћемо уметати записе преко подручја упита. У међувремену, овај пут смо убацили дупликате записа како бисмо проверили излаз. Дакле, испробали смо упит „ИНСЕРТ“ у наставку, где имамо две листе вредности. Обе листе вредности имају исту вредност у колони „ИД“. Изаберите упит и притисните знак за блиц да бисте извршили упит.

Упит неће радити исправно и генерисаће грешку због дуплираних вредности у наредби ИНСЕРТ као што је приказано на слици.

Покушајте исти горњи упит са клаузулом ИНСЕРТ ИГНОРЕ и извршите га како је представљено.

Можете видети да не генерише грешку у излазном подручју, али даје упозорење да наредба садржи дуплиране вредности.

Освежите приказ мреже табеле „Запослени“. Упит ИНСЕРТ ИГНОРЕ успео је упола. Убацио је прву листу вредности у табелу, али друга листа вредности је занемарена због поновљене вредности „13“.

ИНСЕРТ ИГНОРЕ преко Схелл командне линије:

Да бисмо разумели овај концепт, отворимо МиСКЛ клијентску љуску командне линије у вашем систему. На питање, унесите своју МиСКЛ лозинку да бисте започели рад на њој.

Сада је време за стварање табеле. Покушајте са наредбом у наставку да бисте то учинили. Направили смо табелу под називом „министар“, док једна од њених колона има УНИКАТНО ограничење. Јасно је да ће колона „ИД“ прихватити само јединствене вредности, а не и дупле вредности.

>> СТВОРИ податке у ТАБЕЛИ.министар (средина ИНТ ПРИМАРНИ КЉУЧ УНИКУЕ НОТ НУЛЛ, Име ВАРЦХАР (45), Град ВАРЦХАР (45));

Упит функционише на одговарајући начин, а табела је креирана. Да бисте разумели клаузулу ИНСЕРТ ИГНОРЕ, прво морате видети како функционише једноставна команда ИНСЕРТ. Ако користите наредбу ИНСЕРТ за уметање неколико података података у табелу, МиСКЛ обуставља трансакцију и генерише изузетак ако се током обраде догоди грешка. Као последица, табела нема додатих редова. Убацимо први запис у табелу „министар“ помоћу доле приказаног упита. Упит ће успешно функционисати, јер је табела тренутно празна и не постоји запис са којим се може парирати.

Како је колона „ИД“ ЈЕДИНСТВЕНА, када испробамо доњу упуту на љусци командне линије, генерисаће грешку. То је зато што смо у претходни упит додали вредност „11“, а због УНИКУЕ кључа не дозвољава нам да поново додамо поновљену вредност.

Отуда, приликом провере табеле можемо видети да табела има само 1 запис додан првим ИНСЕРТ упитом.

>> ОДАБЕРИ * ИЗ података.министар;

Супротно томе, ако користите клаузулу ИНСЕРТ ИГНОРЕ, нетачни редови података који покрећу грешку биће превидени и унеће само тачне. У наредби испод користили смо наредбу ИНСЕРТ ИГНОРЕ да бисмо избегли додавање поновљених вредности у табелу и превидели грешку. Као што видите, прва листа вредности има дуплирану вредност „11“ исту као у претходном упиту. Иако је друга листа вредности јединствена, приказаће се 1 запис убачен у табелу, што је друга листа вредности. МиСКЛ такође указује да је убачен само 1 запис, а у поруци се генерише 1 упозорење. Тада можете претпоставити да ако користимо клаузулу ИНСЕРТ ИГНОРЕ, МиСКЛ даје упозорење.

Као што можете видети из доњег резултата, у овој табели имамо само два записа - први списак вредности из горњег упита, који је превиђен.

>> ОДАБЕРИ * ИЗ података.министар;

Закључак:

Урадили смо све неопходне примере ИНСЕРТ ИГНОРЕ на дупликатима вредности преко МиСКЛ Воркбенцх-а и МиСКЛ клијентске љуске командне линије.

Како да промените леви и десни тастер миша на рачунару са Виндовс 10
Сасвим је нормално да су сви уређаји рачунарског миша ергономски дизајнирани за дешњаке. Али постоје доступни уређаји за миш који су посебно дизајнира...
Емулирајте кликове мишем лебдењем помоћу миша без клика у оперативном систему Виндовс 10
Коришћење миша или тастатуре у погрешном положају прекомерне употребе може резултирати многим здравственим проблемима, укључујући напрезање, синдром к...
Додајте покрете миша у Виндовс 10 помоћу ових бесплатних алата
Последњих година рачунари и оперативни системи су се увелико развили. Било је време када су корисници морали да користе команде за навигацију кроз мен...