RačunalaBaze podataka

"Zamka" DML-tim Update MySQL

Svaki programer, koji je imao za rad s bazama podataka, suočen s DML-operatera (prevedeno s engleskog - .. „Podaci Manipulacija jezik”), kao što Select, Insert, Delete i Update. MySQL prijevoz također koristi arsenal sve gore navedene naredbe.

Ove izjave logično se govori o njegovom imenovanju - odabir zapisa, ubacite nove vrijednosti, ažuriranje postojeće podatke, kompletan ili u skladu s navedenim uvjetima, uklanjanje podataka u bazi podataka. Teoretski materijali za obuku su detaljno opisane princip rada svake naredbe i njihove sintakse, ali nigdje naći reference na teškoće koje bi mogle nastati u praksi tijekom uporabe. Ovaj materijal bit će posvećen razmatranju nekih od njih.

Ukratko o DML-izvješća (Insert)

Prije nastavka dalje, potrebno je još jednom podsjetiti na detalje o svrsi svaku funkciju. Mi ćemo imati dva operatera zanima detaljnije: Umetanje i Update, jer to ovisi o njima izvode glavne poteškoće u obradi velike količine podataka.

Morate početi s naredbom Insert, a zatim postupno premjestiti na novu inačicu. MySQL sustav, kao i svaki drugi moderne baze podataka, upotrijebite postupak Insert za dodavanje novih zapisa u postojeće tablice baze podataka. Sintaksa ove operacije je vrlo jednostavan i jasan. Ona sadrži popis polja koja će se izvršiti na vrijednosti, odredište - ime tablice - i odmah uveo popis podataka. Svaki put kada obavljaju Insert baze će se ažurirati s novim vrijednostima.

Ažuriranje izjava

Međutim, u praksi, vrlo često postoje situacije koje iz nekog skupa podataka jedne ili više vrijednosti atributa treba ažurirati. Kao primjer, situaciju u kojoj je tvrtka bila reforma s daljnjim preimenovanje glavnih odjela. U tom slučaju potrebno je napraviti izmjene za svaki odjel. Ako se samo mijenja ime, tada se problem može riješiti vrlo brzo. Međutim, ako mijenja kodiranje svake komponente cijele proizvodnje, što obično služi kao primarni ključ, koji je, pak, podrazumijeva promjene u podacima i za svakog zaposlenika.

Update - DML-operater može primijeniti na rješavanje ovog problema. MySQL- poslužitelj, posluje s velikim brojem prijava, uz pomoć ažuriranja izjave, izvršiti potrebne upit i riješiti problem. No, ponekad se javljaju tijekom ažuriranja nije sasvim jasno i teško objasniti složenost. To je ono što uzrokuje poteškoće u evidencije obnovljeno, dodatno će se raspravljati.

Ono malo što je rečeno u teoriji ...

Update tim, kao što je gore navedeno, se koristi za ažuriranje postojeće zapise u tablici. No, u praksi, klijenti pristupaju poslužiteljima baza podataka nisu uvijek poznati, postoji određeni skup podataka u tablicama ili ne. Prethodno provjerite dostupnost podataka u bazi podataka za naknadno ažuriranje rezultata u dugotrajan i otpada poslužitelj sposobnosti.

Da bi se to izbjeglo, u posebnom strukturom baze podataka MySQL - Umetanje * Update, u kojem je umetnuti ili ažurirati može biti izvedena neovisno jedan o drugome. To je kada je tablica ima unos za određeni uvjet, će biti ažurirana. Ako su uvjeti u obzir, podaci neće biti pronađen, MySQL poslužitelj može obavljati zahtjev prenositi podatke.

Ažuriranje podataka kada postoje duplikati

Važan dio ovog Insert - Zahtjev za sustav upravljanja bazom podataka MySQL - «Na duplikata ključa Update» prefiks. Potpuna sintaksa upita je kako slijedi: «umetnuti u test_table (employer_id, ime) vrijednosti ( 1,‘Abramov’) na duple ključne ažuriranja LAST_MODIFIED = NOW (); ”.

Takav zahtjev može se koristiti za snimanje akcije, na primjer, odrediti sjecište prolaz vrijeme poduzeće slijedi brojanje vremenskog intervala i kašnjenje otkrivanja. Kako ne bi stola nekoliko zapisa, što je dovoljno za svakog zaposlenika da vode evidenciju sa stalnim ažuriranjem. To je duplikat šahovnica to dopušta.

Zapravo problemi ...

S obzirom na gore primjer djelovanja za registraciju osoblja na ulazu, kao što je problem je korištenje samouvelichivayuschihsya (auto _ prirast) polja, koji se obično koriste za ispunjavanje primarnih ključne vrijednosti (primarni _ ključ). Ako koristite MySQL Update naredbu u dizajnu sa Insert Auto _ prirast, polje se stalno povećava.

Isto tako, sve što se događa kada se koristi izgradnju zamjenske u slučaju dvostruke otkrivanja. „Auto-prirast” vrijednost se povećava čak iu slučaju kada to nije potrebno. Zbog toga, problemi nastaju overflow prenijeti vrijednosti ili raspona, koji zbog toga može dovesti do kvara sustava za upravljanje bazom podataka.

Najvjerojatnije je problem

Opisuje se problem mora uzeti u obzir web-programere, kao što je to najčešće u sustavu s više korisnika (web stranice, portali, i tako dalje. P.), kada je sustav izvršava velik broj postupaka Insert i Ažuriranje MySQL.

PHP - žalba na bazi vrlo često izvode. Stoga, kako bi se postigla maksimalna margine, definirana kao auto_increment, brzo javlja i u analizi poteškoće utvrditi razlozi jednostavno neće raditi.

Dakle, programeri su ohrabreni da bude pažljivo na korištenje dizajna na duple ključ u naredbu mysql update. odabir - upita kada pristupa poslužitelj baze podataka će raditi bez greške, ali je dodavanje novih zapisa u bazu podataka je pun neugodnih situacija u budućnosti dovesti do ozbiljnih problema. Alternativno, preporuča se za automatsko prirast polja u početku provjeriti njihove evidencije, a zatim ih držati ažurirana.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 hr.unansea.com. Theme powered by WordPress.