KompjutersDatabases

"Nases" DML-Team Aġġornament MySQL

Kull programmer, li kellu jaħdem ma 'databases, iffaċċjati mal-DML-operaturi (tradotti mill-Ingliż - .. "Data Lingwa Manipulazzjoni"), bħall-Agħżel, Daħħal, Ħassar u Aġġornament. MySQL-trasport tuża wkoll armament tagħha ta 'kollha tal-kmandi ta' hawn fuq.

Dawn id-dikjarazzjonijiet huma loġikament jitkellem dwar ħatra tiegħu - għażla rekords, daħħal valuri ġodda, aġġornament tad-data eżistenti, kompluta, jew skond il-kondizzjonijiet speċifikati, it-tneħħija ta 'l-informazzjoni fid-database. Il-materjali teoretiċi taħriġ huma deskritti fid-dettall il-prinċipju ta 'operazzjoni ta' kull kmand u s-sintassi tagħhom, iżda imkien referenzi għad-diffikultajiet li jistgħu jinqalgħu fil-prattika waqt l-użu misjuba. Dan il-materjal se jkun iddedikat għall-eżami ta 'wħud minnhom.

Qosor dwar-dikjarazzjonijiet DML (Daħħal)

Qabel ma jipproċedu aktar, huwa meħtieġ għal darb'oħra biex jiftakar aktar dettalji dwar l-iskop ta 'kull funzjoni. Se jkollna żewġ operaturi interessati f'aktar dettall: Daħħal u Aġġornament, minħabba li tiddependi fuqhom jieħdu d-diffikultajiet ewlenin fl-ipproċessar ammonti kbar ta 'data.

Int trid tibda bil-Daħħal kmand, u mbagħad gradwalment jimxu lejn il-Aġġornament. MySQL sistema, bħal kull database moderna oħra, uża l-operazzjoni Daħħal biex jiżdiedu rekords ġodda għat-tabelli eżistenti database. Is-sintassi ta 'din l-operazzjoni hija sempliċi ħafna u sempliċi. Fiha lista ta 'oqsma li għandhom isiru għall-valuri, id-destinazzjoni - isem tat-tabella - u immedjatament introduċiet lista ta' data. Kull darba li inti twettaq id-database Daħħal ser jiġi aġġornat mal-valuri ġodda.

dikjarazzjoni aġġornament

Madankollu, fil-prattika, spiss hemm sitwazzjonijiet li għal xi sett ta 'data wieħed jew valuri attribut aktar biex jiġu aġġornati. Bħala eżempju, sitwazzjoni fejn il-kumpanija kienet riforma ulterjuri renaming tad-dipartimenti ewlenin. F'dan il-każ huwa meħtieġ li jsiru bidliet għal kull dipartiment. Jekk biss jinbidlu l-isem, allura l-problema tista 'tissolva malajr ħafna. Madankollu, jekk jinbidlu l-kodifikazzjoni ta 'kull komponent tal-produzzjoni kollha, li normalment sservi bħala l-kodiċi primarju, jiġifieri, imbagħad, tinvolvi tibdil fl-informazzjoni u għal kull impjegat.

Aġġornament - DML-operatur jistgħu jiġu applikati biex issolvi din il-problema. servers MySQL-, li joperaw ma 'numru kbir ta' daħliet, bl-għajnuna ta 'dikjarazzjoni aġġornament, tesegwixxi l-mistoqsija meħtieġa u jsolvu l-problema. Imma xi kultant iseħħu matul l-aġġornament huwa pjuttost mhux ċar u diffiċli li tispjega kumplessità. Dan huwa dak li jikkawża d-diffikultà ta 'rekords aġġornati, se jiġu diskussi aktar.

Liema ftit kien qal fit-teorija ...

Aġġornament Team, kif innutat hawn fuq, hija użata biex taġġorna reġistri eżistenti fit-tabella. Iżda fil-prattika, il-klijenti aċċess l-servers database mhux dejjem ikun magħruf, hemm ċertu sett ta 'data fit-tabelli jew le. iċċekkja preliminari-disponibbiltà ta 'data fid-database għall-aġġornament sussegwenti tar-riżultati fil-ħin u ħela ta' kapaċitajiet server.

Biex jiġi evitat dan, fi struttura speċjali MySQL database - Daħħal * Aġġornament, li fiha l-inserzjoni jew aġġornament jistax isir indipendentement minn xulxin. Dan huwa meta l-tabella għandha dħul għal kundizzjoni partikolari, se jiġu aġġornati. Jekk il-kondizzjonijiet meqjusin, id-data mhux se jkun jinstab, MySQL server huwa kapaċi li jwettaq uploads data talba.

data aġġornament meta jkun hemm duplikati

Komponent importanti ta 'dan Daħħal - talba lill-sistema ta' ġestjoni MySQL database - «Fuq duplikati Ewlenin Aġġornament» prefiss. Is-sintassi sħiħa tal-mistoqsija hija kif ġej: "daħħal fis test_table (employer_id, isem) valuri ( 1," Abramov ") fuq ċavetta duplikat aġġornament last_modified = ISSA (); ".

Tali talba tista 'tintuża biex tirreġistra l-azzjonijiet ta', per eżempju, jiddeterminaw il-ħin intrapriża passaġġ intersezzjoni segwit billi jingħaddu intervall ta 'ħin u dewmien sejbien. Sabiex ma jagħmlu l-tabella ftit rekords, biżżejjed għal kull impjegat li jżommu rekords ma aġġornament kostanti. Huwa disinn kontroll duplikat jippermetti.

Fil-fatt il-problemi ...

Meta wieħed iqis l-eżempju ta 'hawn fuq tal-azzjoni persunal reġistrazzjoni fid-daħla, bħala l-problema hija l-użu samouvelichivayuschihsya (auto _ inkrement) oqsma, li huma tipikament użati biex timla l-valuri ewlenin primarji (primarja _ prinċipali). Jekk qed tuża MySQL kmand Aġġornament fid-disinn ma 'Daħħal auto _ inkrement,-qasam qiegħed dejjem jiżdied.

Bl-istess mod, kollox jiġri meta tuża kostruzzjoni sostituzzjoni fil-każ ta 'sejba duplikat. "Auto-inkrement" valur tiżdied anki fil-każ fejn dan ma jkunx meħtieġ. Minħabba dan, il-problemi jinqalgħu valuri jew firxiet pass overflow, li sussegwentement jwasslu għall malfunzjoni ta 'sistemi ta' ġestjoni database.

X'aktarx l-problema

Jiddeskrivi l-problema għandha tiġi kkunsidrata Web-iżviluppaturi, kif huwa l-aktar komuni fis-sistemi multi-utent (websajts, portali, u l-bqija. P.), Meta s-sistema hija eżegwita numru kbir ta 'proċeduri Daħħal u Aġġornament MySQL.

PHP - appell lill-bażi ħafna drabi mwettqa. Għalhekk, biex jiksbu marġini massimi, definiti bħala auto_increment, iseħħ malajr, u fl-analiżi tad-diffikultajiet li jiltaqgħu magħhom biex jistabbilixxu r-raġunijiet biss mhux se taħdem.

Għalhekk, l-iżviluppaturi huma mħeġġa biex ikunu attenti għall-użu tad-disinn fuq ċavetta f'żewġ kopji bil aġġornament kmand mysql. tagħżel - mistoqsijiet meta jaċċessaw is-server database se taħdem mingħajr żball, iżda ż-żieda ta 'rekords ġodda għad-database huwa mimli sitwazzjonijiet spjaċevoli fil-futur twassal għal problemi serji. Alternattivament, huwa rakkomandat għall-oqsma awto-inkrementali inizjalment jiċċekkjaw għar-rekords tagħhom, u mbagħad jżommuhom aġġornati.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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