Tietokoneet, Tietokannat
"Karikot" DML-Team Update MySQL
Jokainen ohjelmoija, joka oli työskennellä tietokantojen, edessä DML-operaattorit (käännetty Englanti - .. "Data Manipulation Language"), kuten Select, lisätä, poistaa ja Päivitys. MySQL-liikenne käyttää myös sen arsenaali kaikki edellä mainitut komennot.
Tällaiset lausumat loogisesti puhu hänen nimitys - valitsemalla kirjaa, aseta uudet arvot, päivittäminen olemassa olevaa tietoa, täydellisiä tai mukaisesti määritellyissä olosuhteissa, poistamalla tietoja tietokantaan. Teoriaharjoutuksien materiaaleja kuvataan yksityiskohtaisesti toimintaperiaate jokaisen komennon ja niiden syntaksi, mutta ei löydy mistään viittaukset mahdollisesti syntyviä ongelmia käytännössä käytön aikana. Tämä materiaali on tarkoitus tarkastella joitakin niistä.
Lyhyesti DML-lausunnoista (Insert)
Ennen jatkamista, on tarpeen jälleen muistuttaa lisätietoja varten kunkin toiminnon. Meillä on kaksi toimijoiden kiinnostunut tarkemmin: Insert ja Päivitys, koska se riippuu niistä johtuvat suurimmat vaikeudet käsiteltäessä suuria tietomääriä.
Sinun täytyy aloittaa komennolla Insert, ja sitten vähitellen siirtyä Update. MySQL järjestelmä, kuten muutkin moderni tietokantaan, käytä lisäystoimenpide lisätä uusia tietueita nykyisiä taulukoita tietokantaan. Syntaksin Tämän toiminta on hyvin yksinkertainen ja suoraviivainen. Se sisältää luettelon kenttiä, jotka tehdään arvoihin, määränpään - taulun nimi - ja heti käyttöön listan tietoja. Joka kerta kun teet Insert tietokantaa päivitetään uusilla arvoilla.
päivitys selvitys
Kuitenkin käytännössä, usein on tilanteita, että joidenkin joukko tietoja yhden tai useamman määritearvot päivitettävä. Esimerkiksi tilanteessa, jossa yhtiö oli uudistuksen edelleen uudelleennimeämisen tärkeimmät yksiköt. Tässä tapauksessa on välttämätöntä tehdä muutoksia jokaiselle osastolle. Jos vain nimen muuttamista, niin ongelma voidaan ratkaista nopeasti. Kuitenkin, jos muuttuva koodaus kunkin komponentin koko tuotannon, joka tavallisesti toimii ensisijaisena avain, joka on puolestaan merkitsee muutoksia tietojen ja jokaisen työntekijän.
Päivitys - DML-operaattori voidaan soveltaa tämän ongelman ratkaisemiseksi. MySQL- palvelin, joka toimii useita merkintöjä, joiden avulla päivitys lausuman, suorittaa tarvittavan kyselyn ja ratkaista ongelma. Mutta joskus esiintyä päivitys ei ole täysin selvää ja vaikea selittää monimutkaisuutta. Juuri aiheuttaa vaikeus Records päivitetty, keskustellaan edelleen.
Mitä vähän on sanottu teoriassa ...
Päivitys Team, kuten edellä mainittiin, käytetään päivittämään olemassa olevia tallenteita taulukossa. Mutta käytännössä, työasemien tietokantapalvelimien ei aina tiedetä, on olemassa tietty joukko tietoja taulukoissa vai ei. Alustavat saatavuudesta tiedot tietokantaan myöhempää päivittämistä tuloksia aikaa vievää ja jätteet palvelimen ominaisuudet.
Tämän välttämiseksi erityiseen tietokantaan MySQL rakenne - Insert * Päivitys, jossa insertti tai Päivitys voidaan suorittaa toisistaan riippumatta. Eli kun pöytä on merkintä tietyn ehdon, päivitetään. Jos olosuhteet katsoi, tietoja ei löydy, MySQL-palvelin voi suorittaa tietojen lisäykset pyynnöstä.
Päivitystietoja kun on kaksoiskappaleita
Tärkeä osa tätä Insert - pyynnön MySQL tietokannan hallintajärjestelmä - «kaksoisnäytteillä Key Update» etuliite. Täydellinen kyselyn syntaksi on seuraava: «insert into test_table (employer_id, nimi) arvot ( 1, 'Abramov) kaksoisnäytteillä key päivitys LAST_MODIFIED = NYT (); ".
Tällainen pyyntö voidaan tallentaa toimia, esimerkiksi, määrätä risteyksessä kanavan aika yrityksen jälkeen laskemalla aikavälillä ja havaitseminen viiveen. Jotta ei tehdä pöytään pari kirjaa, niin että jokainen työntekijä pitää kirjaa jatkuvasti päivittämistä. Se on duplikaattilista muotoilu mahdollistaa sen.
Oikeastaan ongelmia ...
Edellä esitetyn esimerkin rekisteröinnin henkilökunnan toimintaa suulla, koska ongelma on käyttää samouvelichivayuschihsya (auto _ lisäys) kentät, joita tyypillisesti käytetään täyttämään perusavaimen arvot (ensisijainen _ avain). Jos käytät MySQL päivitys komentoa muotoilu Insert Auto _ lisäys, kenttä kasvaa jatkuvasti.
Samoin kaikki tapahtuu käytettäessä korvaavan rakentamisen tapauksessa päällekkäisiä havaitsemisen. "Auto-lisäys" arvo kasvaa jopa tapauksessa, jossa sitä ei tarvita. Tämän vuoksi syntyy ongelmia ylivuoto syöttö-arvot tai alueet, jotka myöhemmin aiheuttaa toimintahäiriön tietokannan hallintajärjestelmiä.
Todennäköisesti ongelma
Kuvaa ongelmaa on pidettävä web-kehittäjille, koska se on yleisin monen käyttäjän järjestelmissä (sivustot, portaalit ja niin edelleen. P.), Kun järjestelmä toteutetaan useita menettelyjä Lisää ja Päivitä MySQL.
PHP - valitus pohjaan hyvin usein tehdään. Siksi maksimaalisen marginaalit määritellään auto_increment, tapahtuu nopeasti, ja analysoinnissa vaikeuksista perustaa syistä vain ei toimi.
Siksi kehittäjät kannustetaan tarkkailtava käytön design kaksoiskappale avain komennolla MySQL päivityksen. Valitse - kyselyt luettaessa tietokantapalvelimen toimii virheettömästi, mutta lisäämällä uusia ennätyksiä tietokantaan on täynnä epämiellyttäviä tilanteita tulevaisuudessa johtaa vakaviin ongelmiin. Vaihtoehtoisesti on suositeltavaa auto-lisäys kentät aluksi tarkistaa niiden tiedot ja pidä ne ajan tasalla.
Similar articles
Trending Now