Jokainen ohjelmoija, joka joutui työskentelemään DML-operaattoreiden kanssa (kohden. englanniksi. - "tietojen manipulointikieli"), kuten valita, Insert, poistaa ja päivitys. MySQL-ympäristö käyttää myös kaikkia edellä mainittuja komentoja arsenalissaan.
Nämä toimijat loogisesti puhuvat niistäkäyttötarkoitus - valitse tietueet, lisää uudet arvot, päivitä olemassa olevat tiedot, täydellinen tai määritettyjen ehtojen mukaisesti, poista tietoja tietokannasta. Teoreettisten materiaalien opettaminen kuvailee yksityiskohtaisesti kunkin tiimin toimintaperiaatetta ja niiden syntaksia, mutta ei ole mainintaa vaikeuksista, joita voi syntyä käytännössä käytön aikana. Tämä materiaali on tarkoitettu joidenkin niistä.
Ennen kuin jatkat, on tarpeen palauttaa tarkemmin kunkin tehtävän tarkoitus. Meistä kiinnostaa enemmän kahta operaattoria: Insert ja päivitys, koska niistä aiheutuu suuria vaikeuksia, kun käsitellään suuria määriä tietoja.
Aloita komennolla Insert, ja sitten sujuvasti siirtyä Päivitys. MySQL Järjestelmä, kuten mikä tahansa muu nykyaikainen DBMS, käyttää operaatiota Insert lisätä uusia merkintöjä olemassa oleviintietokantataulukoita. Tämän toiminnan syntaksi on hyvin yksinkertainen ja suoraviivainen. Se sisältää luettelon kentistä, joissa arvot syötetään, määränpää - taulukon nimi - ja luettelo merkinnöistä suoraan. Jokaisessa komennon suorituksessa Insert Tietokanta päivitetään uusilla arvoilla.
Käytännössä kuitenkin usein syntyyTilanne on se, että yhden datasarjan osalta yhden tai useamman attribuutin arvot on päivitettävä. Esimerkkinä voidaan mainita tilanne, kun yritys uudistui pääosastojen uudella nimeämisellä. Tässä tapauksessa on tehtävä muutoksia jokaiselle osastolle. Jos vain nimet muuttuvat, ongelma ratkaistaan nopeasti. Mutta jos jokaisen tuotannon jokaisen komponentin koodaus muuttuu, mikä yleensä toimii ensisijaisena avauksena, tämä puolestaan aiheuttaa muutoksia tiedoissa ja jokaiselle työntekijälle.
Tämän ongelman ratkaisemiseksi sitä voidaan soveltaa DML-operaattori - Päivitys. MySQL-palvelin, jolla on suuri määrä tietueita,päivitysohjelman avulla suorita pyydetty kysely ja ratkaise ongelma. Mutta joskus päivityksen aikana ei ole täysin ymmärrettävää ja vaikeaa selittää vaikeuksia. Kyseessä on monimutkainen tietojen päivittäminen, josta keskustellaan myöhemmin.
Päivityskomento, kuten yllä on mainittu,Käytetään olemassa olevien tietueiden päivittämiseen taulukossa. Käytännössä tietokeskuksia käyttäviä asiakkaita ei kuitenkaan tunneta aina, taulukoissa on tiettyjä tietoja. Tietokannan tietojen saatavuuden alustava tarkistaminen myöhempien päivitysten vuoksi johtaa aika- kustannuksiin ja palvelimen ominaisuuksien heikentymiseen.
Tämän estämiseksi tämä DBMS on erityisen suunniteltu MySQL - Lisää * päivitys, jossa insertti tai päivitys voitoisistaan riippumatta. Toisin sanoen, kun tietty ehto on merkitty taulukkoon, päivitys tapahtuu. Jos tietoja kyseisestä ehdosta ei löydy, MySQL-palvelin pystyy suorittamaan tietojen lisäyspyynnön.
Tärkeä osa tätä Insert-kysely tietokannan hallintajärjestelmässä MySQL - "Duplicate Key -päivityksellä" konsolit. Kyselyn täydellinen syntaksi on seuraava: "lisää test_table (employer_id, name) -arvot (1, "Abramov") kaksoiskappaleen päivitykseen last_modified = NOW ();".
Tällaista pyyntöä voidaan käyttäätyöntekijöiden henkilöiden rekisteröinti, esimerkiksi määritettäessä siirtymisajankohdan aika laskettaessa tauon ajankohtaa ja viivästymisten tunnistamista. Jotta jotain kirjaa ei syötettäisi taulukkoon, riittää, että jokainen työntekijä pitää kirjaa pysyvällä päivityksellä. Se on kaksoiskappaleen suunnittelu, jonka avulla voit tehdä tämän.
Kun otetaan huomioon yllä oleva esimerkki työntekijöiden toiminnan rekisteröinnistä tarkistuspisteessä, itsekehitettävän (auto_lisäys) kentät, joita tavallisesti käytetään ensisijaisten avainten arvojen täyttämiseen (ensisijainen_avain). Käytettäessä komentoa MySQL-päivitys rakentamisessa Insert auto_lisäys, kentät kasvavat jatkuvasti.
Vastaavasti kaikki tapahtuu milloinKorvaussuunnitelmaa käytetään, kun kopiot havaitaan. "Autoincremental" -arvo kasvaa jopa silloin, kun se ei ole tarpeen. Tästä johtuen puuttuvat arvot tai alueen ylivuoto ovat ongelmia, jotka sitten johtavat tietokantojen hallintajärjestelmien suorituskyvyn häiriintymiseen.
Ongelma on otettava huomioon verkkokoska se on yleisimpiä monen käyttäjän järjestelmissä (Internet-sivustot, portaalit jne.), kun järjestelmässä suoritetaan paljon proseduureja Insert ja Päivitä MySQL.
PHP-tietokannoista tehtävät kutsut suoritetaan hyvin usein. Tästä syystä maksimiarvon saavuttaminen kentällä määritellyillä kentillä auto_increment, tapahtuu nopeasti, ja analysoitaessa havaitut vaikeudet on mahdotonta perustella syitä välittömästi.
Siksi kehittäjää kehotetaan tutustumaan huolellisesti rakenteen käyttöön kaksoiskappaleella joukkueessa mysql-päivitys. valitse - kyselyitä, kun tietokantapalvelinta käytetääntoimii ilman virheitä, mutta lisäämällä uusia tietueita tietokantaan on täynnä epämiellyttäviä tilanteita, jotka myöhemmin johtavat vakaviin ongelmiin. Vaihtoehtona on, että automaattiset kentät ovat aluksi tarkastamassa tietueiden saatavuus heille ja päivittämään ne sitten.
</ p>