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

МиСКЛ ИЗБРИШИ КАСКАДУ

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

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

Схватимо како бисмо у целој МиСКЛ табели могли да користимо изјаву ОН ДЕЛЕТЕ ЦАСЦАДЕ.

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

Даље ћемо направити две табеле под називом „наруџба“ и „купац“. Обе међусобне табеле повезане су функцијом брисања каскада помоћу страног кључа. „Наруџба“ је надређена табела у овом тренутку, а подређена табела је „купац“. Са припадајућим скриптама, заједно са одговарајућим записима, морате да направите обе табеле. Користите наредбу „усе“ у наставку да бисте одабрали базу података у којој желите радити или у њој креирати табеле. Овде је „дата“ база података коју користимо.

>> користити податке;

Направи родитељску табелу:

Пре свега, морате створити табелу „поредак“ заједно са њеним пољима помоћу наредбе ЦРЕАТЕ ТАБЛЕ, као што је приказано у доњем упиту. Колона „ИД“ користиће се у следећој табели „купац“ као страни кључ.

>> СТВОРИ податке у ТАБЕЛИ.наруџба (ИД ИНТ ПРИМАРНИ КЉУЧ АУТО_ИНЦРЕМЕНТ НОТ НУЛЛ, Артикал ВАРЦХАР (50) НОТ НУЛЛ, Цена ВАРЦХАР (50) НОТ НУЛЛ);

Додајмо неке податке у ову табелу. Морате извршити доле приказане упите у МиСКЛ љусци командне линије и покренути сваку команду појединачно у командној линији или једноставно додати све команде у командној линији у једном кораку. Такође можете да користите МиСКЛ Воркбенцх ГУИ за додавање података у табелу.

Сада проверимо табелу „редослед“ након уношења вредности у њу. У ову сврху можете користити наредбу СЕЛЕЦТ на следећи начин:

>> ОДАБЕРИ * ИЗ података.ред;

Видите да су подаци успешно сачувани у табели „редослед“, како се очекивало.

Направите подређену табелу помоћу ДЕЛЕТЕ Цасцаде:

Сада је ред да се креира друга табела под називом „купац“.

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

>> ИЗРАДИ ТАБЕЛУ података.купац (ИД УПОТРЕБЕ ИНТ НОТ НУЛЛ АУТО_ИНЦРЕМЕНТ ПРИМАРНИ КЉУЧ, Име ВАРЦХАР (45) НОТ НУЛЛ, ОрдерИД ИНТ НОТ НУЛЛ, ЦОНСТРАИНТ ордер_ид_фк СТРАНИ КЉУЧ (ОрдерИД) РЕФЕРЕНЦЕ подаци.налог (ИД) НА БРИСАЊУ КАСКАДЕ);

Након што је табела креирана, а ДЕЛЕТЕ ЦАСЦАДЕ успешно спроведен на овој табели, време је да у њу убаците неке вредности. Испробајте доле наведена упутства једно по једно у МиСКЛ командној линији клијента да бисте то урадили.

Затим извршите уметање упита. Важно је проверити табелу да ли су подаци успешно додати или не. Па пробајте ову наредбу испод:

>> ОДАБЕРИ * ИЗ података.купац;

Овде можете да видите увид у излаз табеле да су му подаци ефикасно додељени и без грешке или грешке.

Избриши записе:

Сада када из матичне табеле избришете било који податак или ред, он ће такође избрисати податке или ред из подређене табеле због омогућеног ДЕЛЕТЕ ЦАСЦАДЕ на страном кључу поменутом у подређеној табели. Покушајмо прво ДЕЛЕТЕ упит, а затим проверимо резултате. Избрисаћемо податке из табеле „поредак“ где је „ИД“ 11. Ако се исти „ИД“ нађе у табели „купац“ у колони страног кључа „ИД налога“, тада ће се избрисати и релативни ред или подаци у табели „купац“. Покушајте наредбу испод у командној линији да бисте то учинили:

>> ОБРИШИ ИЗ података. поруџбина ВХЕРЕ ИД = '11';

Прво, проверимо родитељску табелу. Затим откуцајте наредбу СЕЛЕЦТ која се налази доле да бисте преузели преостале записе табеле „поредак“ након брисања неких записа. Видећете да је запис табеле, где је „ИД“ био 11, успешно обрисан из ове табеле. То значи да би се релативни записи исте вредности ИД-а, „11“, такође избрисали из подређене табеле.

>> ОДАБЕРИ * ИЗ података.ред;

Дохваћање записа подређене табеле помоћу команде СЕЛЕЦТ је једноставно као и раније. Само испробајте доњу команду и добићете резултате.

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

>> ОДАБЕРИ * ИЗ података.купац;

Када покушате да испустите надређену табелу помоћу команде ДРОП, МиСКЛ ће вас спречити у томе. То је зато што је надређена табела омогућила ДЕЛЕТЕ ЦАСЦАДЕ на њој. Дакле, да бисте спустили табелу, прво морате из ње уклонити ДЕЛЕТЕ ЦАСЦАДЕ.

Закључак:

Завршили смо са објашњењем ДЕЛЕТЕ ЦАСЦАДЕ у МиСКЛ. Да бисте то учинили јаснијим, испробајте још примера на крају.

Како приказати ОСД прекривач у целом екрану Линук апликација и игара
Играње игара преко целог екрана или коришћење апликација у режиму целог екрана без ометања може вам одсећи релевантне системске информације видљиве на...
Топ 5 карата за хватање игара
Сви смо видели и волели стримовање играња на ИоуТубе-у. ПевДиеПие, Јакесептицие и Маркиплиер само су неки од најбољих играча који су зарадили милионе ...
Како развити игру на Линуку
Пре деценију, није много корисника Линука предвидело да ће њихов омиљени оперативни систем једног дана бити популарна платформа за играње комерцијални...