Kompiuteriai, Duomenų bazės
"Spąstų" DML-Komanda Atnaujinti MySQL
Kiekvienas programuotojas, kurie turėjo dirbti su duomenų bazėmis, susiduria su DML operatorių (išvertus iš anglų kalbos - .. "duomenų tvarkymo kalbą"), pavyzdžiui Pasirinkite, įterpti, ištrinti ir Atnaujinti. MySQL transportas taip pat naudoja savo arsenalą visų minėtų komandų.
Šie teiginiai yra logiškai kalbėti apie jo paskyrimą - pasirinkdami įrašų, įdėkite naujas vertybes, atnaujinant esamus duomenis, išsami, arba, laikantis nurodytų sąlygų, iš duomenų bazėje informacijos pašalinimo. Teorinio rengimo medžiagos yra aprašytos išsamiai eksploatavimo kiekvienos komandos ir jų sintaksę principą, bet niekur rasti nuorodas į sunkumus, kurie gali kilti praktikoje naudojimo metu. Ši medžiaga bus skirta kai kurie iš jų svarstyti.
Trumpai apie DML-teiginių (įterpti)
Prieš tęsiant, būtina dar kartą prisiminti daugiau informacijos apie kiekvieną funkciją tikslu. Turėsime du operatoriai suinteresuotas išsamiau: Įdėkite ir Atnaujinimas, nes tai priklauso nuo jų išvesti pagrindinius sunkumus perdirbimo didelius duomenų kiekius.
Jūs turite pradėti su komandų Įterpti, tada palaipsniui pereiti prie Update. MySQL duomenų sistema, kaip ir bet kurios kitos šiuolaikinės duomenų bazės, naudokite Įterpti operaciją pridėti naujus įrašus esamo lentelės duomenų bazę. Šios operacijos sintaksė yra labai paprastas ir nesudėtingas. Jame yra daug sričių, kurios bus pagaminti su vertėmis, paskirties sąrašą - pavadinimo lentelės - ir iš karto pristatė duomenų sąrašą. Kiekvieną kartą, kai jūs atliekate Įterpti duomenų bazę bus atnaujinta su naujomis vertybėmis.
Atnaujinti pareiškimas
Tačiau praktikoje gana dažnai pasitaiko situacijų, kad dėl kokių nors duomenų Vienas ar daugiau atributų reikšmių rinkinys turi būti atnaujinamas. Pavyzdžiui, tuo atveju, kai įmonė buvo reformą toliau pervadinimas iš pagrindinių padalinių. Tokiu atveju būtina padaryti pakeitimus kiekvienam departamentui. Jei tik keičia pavadinimą, tada problema gali būti išspręsta labai greitai. Tačiau, jei keičiant kiekvieną visą gamybą, kuris paprastai tarnauja kaip pirminį raktą, kuris yra sudedamoji kodavimą, savo ruožtu, reiškia, keisti informacijos ir kiekvieno darbuotojo.
Atnaujinimas - DML-operatorius gali būti taikomas siekiant išspręsti šią problemą. MySQL- serveris, veikia su dideliu skaičiumi įrašų, su atnaujinimo pareiškimą pagalba, vykdyti reikiamą užklausą ir išspręsti problemą. Bet kartais pasitaiko metu atnaujinimas yra ne visai aišku, ir sunku paaiškinti sudėtingumą. Tai yra tai, ką sukelia įrašų atnaujinami, bus toliau aptartų sunkumų.
Kas šiek tiek buvo pasakyta, teoriškai ...
Atnaujinti komanda, kaip jau minėta, yra naudojamas atnaujinti esamus įrašus lentelėje. Tačiau praktikoje, klientai Prieiga prie duomenų bazių serveriai yra ne visada žinoma, yra tam tikras rinkinys duomenų lentelėse ar ne. Preliminari patikrinti duomenų prieinamumą duomenų bazėje vėlesniam atnaujinimo rezultatus į laiko ir atliekų serverių pajėgumus.
Norėdami to išvengti, specialioje duomenų bazės MySQL struktūros - įdėkite * Atnaujinti, kurioje įrašyti ar atnaujinimas gali būti atliekamas nepriklausomai vienas nuo kito. Tai yra, kai lentelėje yra už tam tikrą būklę įrašą, bus atnaujintas. Jei manoma sąlygos, nebus galima rasti duomenų, MySQL serveris galėtų atlikti duomenų pridėtos nuotraukos prašymą.
Atnaujinti duomenis, kai yra dublikatai
Svarbi šio Insert - prašymas MySQL duomenų bazių valdymo sistema - «Apie kartojasi Pagrindiniai Atnaujinti» priešdėlis. Pilnas sintaksė užklausos yra taip: «įterpti į test_table (employer_id, pavadinimas) vertės ( 1, 'Abramovas") ant dublikato rakto atnaujinimo LAST_MODIFIED = NOW (); ".
Toks prašymas gali būti naudojamas įrašyti veiksmų, pavyzdžiui, nustatyti sankirta praėjimo pro jį įmonė po skaičiuoti laiko intervalą ir aptikimo uždelsimą. Kad nedaryti stalo keletą įrašų, pakankamai kiekvienam darbuotojui išlaikyti įrašus su nuolatiniu atnaujinimu. Tai dublikatas patikrinimas dizainas leidžia ją.
Iš tikrųjų problemos ...
Atsižvelgiant į pirmiau pavyzdys registracijos personalo veiksmų prie įėjimo, nes problema yra naudoti samouvelichivayuschihsya (auto _ prieaugio) laukai, kurie paprastai naudojami užpildyti pirminis raktas vertybes (pirminė _ raktas). Jei naudojate MySQL Update komandą dizainas su Insert Auto _ prieaugis, lauke nuolat didėja.
Be to, viskas vyksta naudojant pakaitinę statyti į dublikato aptikimo atveju. "Auto prieaugis" vertė išaugo net tuo atveju, kai tai nėra būtina. Dėl šios priežasties, kyla problemų perpildymo perduoti vertes arba diapazonus, kurie vėliau sugesti duomenų bazių valdymo sistemas.
Greičiausiai problema
Apibūdina problema turi būti laikomas Web-kūrėjams, nes ji yra labiausiai paplitusi daugelio vartotojų sistemų (tinklalapiuose, portalų ir P. pan.), Kai sistema yra vykdoma daug procedūrų Įterpti ir Atnaujinkite MySQL.
PHP - kreipimasis į bazę labai dažnai atliekama. Todėl, norint pasiekti maksimalų pelną, kuris apibrėžiamas kaip auto_increment, sparčiai kyla, o į sunkumus, analizė susidūrė nustatyti priežastis, tiesiog neveiks.
Todėl, kūrėjai raginami būti atidūs su dizainu dublikato raktu į komandą mysql atnaujinimo naudojimui. pasirinkite - užklausas, kai susipažinimo su duomenų bazės serveris veiks be klaidų, bet naujų įrašų papildymas duomenų bazėje yra kupinas nemalonių situacijų ateityje sukelti rimtų problemų. Arba, rekomenduojama auto-prieaugio laukai pradžių patikrinkite savo įrašus, ir tada laikykite juos atnaujinti.
Similar articles
Trending Now