Mysql-päivitys on monimutkainen päivityskysely. Syntaksin PÄIVITYS. Esimerkki yhden sarakkeen päivittämisestä



Artikkelin sisältö
1. Yksinkertaisimmat MySQL-kyselyt
2. Yksinkertaiset SELECT-kyselyt
3. Yksinkertaiset INSERT (uusi merkintä) -kyselyt
4. Yksinkertaiset UPDATE (korvaa, liitä) kyselyt
5. Yksinkertaiset DELETE (poista tietueet) -kyselyt
6. Yksinkertaiset DROP (delete table) -kyselyt
7. Monimutkaiset MySQL-kyselyt
8. MySQL-kyselyt ja PHP-muuttujat

1. Yksinkertaisimmat SQL-kyselyt

1. Näyttää luettelon KAIKISTA tietokannoista.

SHOW-tietokannat;
2. Luetteloi KAIKKI taulukot tietokannassa base_name.

NÄYTÄ taulukot kohdassa kantanimi;

2. Yksinkertaiset SELECT-kyselyt MySQL-tietokantaan

VALITSE– kysely, joka valitsee tietokannasta olemassa olevat tiedot. Voit määrittää valintaa varten tietyt valintaparametrit. Esimerkiksi venäjänkielisen pyynnön olemus kuulostaa tältä: SELECT sellaiset ja sellaiset sarakkeet FROM sellaisesta ja sellaisesta taulukosta WHERE tämän ja sellaisen sarakkeen parametri on yhtä suuri kuin arvo.

1. Valitsee KAIKKI tiedot taulukosta tbl_name.

SELECT * FROM tbl_name;
2. Näyttää tietueiden määrän taulukossa tbl_name.

SELECT count(*) FROM tbl_name;
3. Valitsee (SELECT) taulukosta (FROM) tbl_name limit (LIMIT) 3 tietuetta alkaen 2:sta.

SELECT * FROM tbl_name RAJA 2,3;
4. Valitsee (VALITSE) KAIKKI (*) tietueet (FROM) taulukosta tbl_name ja lajittelee ne (ORDER BY) id-kentän mukaan järjestykseen.

SELECT * FROM tbl_nimi ORDER BY id;
5. Valitsee (VALITSE) KAIKKI tietueet (FROM) tbl_name-taulukosta ja lajittelee ne (ORDER BY) id-kentän mukaan KÄÄNTEISESSÄ järjestyksessä.

SELECT * FROM tbl_nimi ORDER BY id DESC;
6. Valitsee ( VALITSE) KAIKKI (*) tietueet kohteesta ( FROM) taulukoita käyttäjiä ja lajittelee ne ( TILAA) kentällä id nousevassa järjestyksessä, raja ( RAJA) 5 ensimmäistä merkintää.

SELECT * FROM käyttäjiltä ORDER BY id LIMIT 5;
7. Valitsee kaikki tietueet taulukosta käyttäjiä, missä on kenttä fname vastaa arvoa Gena.

SELECT * FROM käyttäjät WHERE fname="Gena";
8. Valitsee kaikki tietueet taulukosta käyttäjiä, jossa kentän arvo fname alkaa Ge.

SELECT * FROM käyttäjiltä WHERE fname LIKE "Ge%";
9. Valitsee kaikki tietueet taulukosta käyttäjiä, Missä fname loppuu na ja lajittelee tietueet arvon nousevaan järjestykseen id.

SELECT * FROM käyttäjiltä WHERE fname LIKE "%na" ORDER BY id;
10. Valitsee kaikki tiedot sarakkeista fname, nimi pöydältä käyttäjiä.

SELECT fname, lname FROM käyttäjiltä;

11. Oletetaan, että käyttäjätietotaulukossasi on maa. Joten jos haluat näyttää VAIN luettelon esiintyvistä arvoista (joten esimerkiksi Venäjää ei näytetä 20 kertaa, vaan vain kerran), käytämme DISTINCT. Se tuo Venäjän, Ukrainan ja Valko-Venäjän pois toistuvien arvojen joukosta. Pöydästä siis käyttäjiä kaiuttimet maa KAIKKI YKSILÖISET arvot tulostetaan

VALITSE ERILLINEN maa käyttäjiltä;
12. Valitsee KAIKKI rivitiedot taulukosta käyttäjiä Missä ikä on arvot 18, 19 ja 21.

SELECT * FROM käyttäjiltä WHERE ikä IN (18,19,21);
13. Valitsee MAXIMUM-arvon ikä pöydässä käyttäjiä. Eli jos sinulla on suurin arvo taulukossasi ikä(englanninkielisestä iästä) on 55, niin kyselyn tulos on 55.

SELECT max(ikä) käyttäjiltä;
14. Valitse tiedot taulukosta käyttäjiä kenttien mukaan nimi Ja ikä MISSÄ ikä ottaa pienimmän arvon.

VALITSE nimi, min(ikä) käyttäjiltä;
15. Valitse tiedot taulukosta käyttäjiä kentällä nimi MISSÄ id EI YHTÄÄN 2.

SELECT nimi FROM users WHERE id!="2";

3. Yksinkertaiset INSERT (uusi merkintä) -kyselyt

LISÄÄ– kysely, jonka avulla voit ALKUUN lisätä tietueen tietokantaan. Eli se luo UUDEN tietueen (rivin) tietokantaan.

1. Tekee uusi merkintä pöydässä käyttäjiä, kentällä nimi lisää Sergey, ja kentällä ikä lisää 25. Siten taulukkoon lisätään uusi rivi näillä arvoilla. Jos sarakkeita on enemmän, loput jäävät joko tyhjiksi tai oletusarvoin.

INSERT INTO käyttäjiin (nimi, ikä) ARVOT ("Sergey", "25");

4. Yksinkertaiset UPDATE-kyselyt MySQL-tietokantaan

PÄIVITTÄÄ– kysely, jonka avulla voit VARAA kenttäarvoja tai LISÄÄ jotain jo olemassa olevaan tietokannan riviin. Esimerkiksi siellä on valmis rivi, mutta ikäparametri on kirjoitettava siihen uudelleen, koska se on muuttunut ajan myötä.

1. Taulukossa käyttäjiä ikä tulee 18.

UPDATE käyttäjät SET ikä = "18" WHERE id = "3";
2. Kaikki on sama kuin ensimmäisessä pyynnössä, se näyttää vain pyynnön syntaksin, jossa kaksi tai useampi kenttää korvataan.
Pöydässä käyttäjiä WHERE-tunnus on 3 kentän arvoa ikä täyttää 18 ja maa Venäjä.

UPDATE käyttäjät SET ikä = "18", maa = "Venäjä" WHERE id = "3";

5. Yksinkertaiset DELETE (delete record) -kyselyt MySQL-tietokantaan

POISTAA– kysely, joka poistaa rivin taulukosta.

1. Poistaa rivin taulukosta käyttäjiä MISSÄ id vastaa 10.

POISTA käyttäjiltä WHERE id = "10";

6. Yksinkertaiset DROP (delete table) -kyselyt MySQL-tietokantaan

PUDOTA– kysely, joka poistaa taulukon.

1. Poistaa koko taulukon tbl_name.

DROP TABLE tbl_name;

7. Monimutkaiset kyselyt MySQL-tietokantaan

Mielenkiintoisia kyselyitä, joista voi olla hyötyä kokeneillekin käyttäjille

VALITSE tunnus, nimi, maa FROM käyttäjiltä, ​​järjestelmänvalvojilta WHERE TO_DAYS(NOW()) - TO_DAYS(rekisteröintipäivä)<= 14 AND activation != "0" ORDER BY registration_date DESC;
Tämä monimutkainen kysely SELECTS saraketta id, nimi, maa TAULUKKOISSA käyttäjät, ylläpitäjät MISSÄ rekisteröinti päivämäärä(päivämäärä) ei vanhempi 14 päivää I aktivointi EI TASUTA 0 , Järjestä rekisteröinti päivämäärä käänteisessä järjestyksessä (uusi ensin).

PÄIVITYS käyttäjät SET ikä = "18+" WHERE ikä = (VALITSE ikä FROM käyttäjistä WHERE mies = "mies");
Yllä on esimerkki ns pyyntö pyynnön sisällä SQL:ssä. Päivitä käyttäjien ikä yli 18-vuotiaaksi, jossa sukupuoli on mies. En suosittele tällaisia ​​pyyntövaihtoehtoja. Henkilökohtaisesta kokemuksesta sanon, että on parempi luoda useita erillisiä - ne käsitellään nopeammin.

8. MySQL- ja PHP-tietokantakyselyt

PHP-sivun MySQL-kyselyissä voit lisätä muuttujia vertailuarvoiksi jne. Pari esimerkkiä

1. Valitsee kaikki tietueet taulukosta käyttäjiä, missä on kenttä fname vastaa muuttujan arvoa $nimi.

SELECT * FROM käyttäjät WHERE fname="$nimi";
2. Taulukossa käyttäjiä WHERE-tunnus on 3 kentän arvoa ikä muuttuu $age-muuttujan arvoksi.

PÄIVITYS käyttäjät SET ikä = "$ikä" WHERE id = "3";

Huomio! Jos olet kiinnostunut jostain muusta esimerkistä, kirjoita kysymys kommentteihin!

Tässä opetusohjelmassa opit käyttämään MySQL UPDATE -lause syntaksin ja esimerkkien kanssa.

Kuvaus

MySQL UPDATE -lause käytetään tietokannan taulukon olemassa olevien tietueiden päivittämiseen MySQL-tiedot. UPDATE-käskyllä ​​on kolme syntaksia suoritettavan päivityksen tyypin mukaan.

Syntaksi

Yksinkertainen syntaksi UPDATE-käskylle päivitettäessä yhtä taulukkoa MySQL:ssä:

Nyt MySQL UPDATE -käskyn koko syntaksi yksittäistä taulukkoa päivitettäessä on:

TAI
UPDATE-käskyn syntaksi päivitettäessä yhtä taulukkoa toisen taulukon tiedoilla MySQL:ssä on:

TAI
MySQL-syntaksi UPDATE-käskylle päivitettäessä useita taulukoita on:

Parametrit tai argumentit

LOW_PRIORITY – valinnainen. Jos LOW_PRIORITY on määritetty, päivitys viivästyy, kunnes prosesseja ei lue taulukosta. LOW_PRIORITY voidaan käyttää MyISAM-, MEMORY- ja MERGE-taulukoiden kanssa, jotka käyttävät taulukkotason lukitusta.
OHITTAA – valinnainen. Jos IGNORE on annettu, kaikki päivityksen aikana havaitut virheet ohitetaan. Jos rivin päivitys rikkoisi ensisijaista avainta tai yksilöllistä indeksiä, kyseisen rivin päivitys epäonnistuu.
sarake1, sarake2 ovat sarakkeet, jotka haluat päivittää.
lauseke1 , lauseke2 — uudet arvot sarakkeen1, sarake2 määrittämiseen. Joten sarakkeelle1 on annettu lausekkeen1 arvo, sarakkeelle2 on annettu lausekkeen2 arvo ja niin edelleen.
WHERE ehdot - valinnainen. Edellytykset, jotka on täytettävä, jotta päivitys tapahtuu.
ORDER BY lauseke - valinnainen. Sitä voidaan käyttää yhdessä LIMIT:n kanssa tietueiden lajittelemiseksi asianmukaisesti samalla kun rajoitetaan päivitettävien tietueiden määrää.
LIMIT rivin määrä – valinnainen. Jos LIMIT on määritetty, se ohjaa taulukossa päivitettävien tietueiden enimmäismäärää. Number_rows-tiedostossa määritetty enimmäismäärä tietueita päivitetään taulukkoon.

Esimerkki yhden sarakkeen päivittämisestä

Katsotaanpa hyvin yksinkertaista esimerkkiä MySQL UPDATE -kyselystä.

Tässä MySQL-esimerkissä UPDATE päivitti asiakastaulukon last_name -kentän kenttään "Ford", jossa asiakastunnus = 500.

Esimerkki useiden sarakkeiden päivittämisestä

Katsotaanpa esimerkkiä MySQL UPDATE, jossa voit päivittää useamman kuin yhden sarakkeen yhdellä UPDATE-käskyllä.

Jos haluat päivittää useita sarakkeita, voit tehdä sen erottamalla sarake/arvo-parit pilkuilla.
Tämä esimerkki MySQL UPDATE -käskystä päivitti tilan Nevadaan ja customer_rep arvoon 23, jossa asiakastunnus on suurempi kuin 200.

Esimerkki taulukon päivittämisestä toisen taulukon tiedoilla

Katsotaanpa esimerkkiä UPDATE, joka näyttää kuinka taulukko päivitetään toisesta MySQL-taulukosta peräisin olevilla tiedoilla.

MySQL

Tämä PÄIVITYS-esimerkki päivittää vain asiakastaulukon kaikille tietueille, joissa asiakastunnus on suurempi kuin 5 000. Kun toimittajataulukon toimittajan_nimi vastaa asiakastaulukon asiakkaan_nimeä, toimittajataulukon kaupunki kopioidaan asiakastaulukon kaupunkikenttään.

Tämä MySQL-opetusohjelma selittää, kuinka MySQL:ää käytetään UPDATE lausunto syntaksin ja esimerkkien kanssa.

Syntaksi

Yksinkertaisimmassa muodossaan UPDATE-käskyn syntaksi päivitettäessä yhtä MySQL-taulukkoa on:

PÄIVITYStaulukko SET sarake1 = lauseke1, sarake2 = lauseke2, ... ;

MySQL UPDATE -käskyn koko syntaksi yhtä taulukkoa päivitettäessä on kuitenkin:

PÄIVITYS [ LOW_PRIORITY ] [ OHITTA ] taulukko SET sarake1 = lauseke1, sarake2 = lauseke2, ... ] ;

UPDATE-käskyn syntaksi päivitettäessä yhtä taulukkoa toisen taulukon tiedoilla MySQL:ssä on:

PÄIVITYS taulukko1 SET sarake1 = (SELECT lauseke1 FROM table2 WHERE ehdot) ;

MySQL UPDATE -käskyn syntaksi päivitettäessä useita taulukoita on:

PÄIVITYS taulukko1, taulukko2, ... SET sarake1 = lauseke1, sarake2 = lauseke2, ... WHERE taulukko1.sarake = taulukko2.sarake JA ehdot;

Parametrit tai argumentit

LOW_PRIORITY Valinnainen. Jos LOW_PRIORITY on annettu, päivitys viivästyy, kunnes prosesseja ei lue tiedostosta pöytä. LOW_PRIORITY voidaan käyttää MyISAM-, MEMORY- ja MERGE-taulukoiden kanssa, jotka käyttävät taulukkotason lukitusta. OHITTAA Valinnainen. Jos IGNORE on annettu, kaikki päivityksen aikana havaitut virheet ohitetaan. Jos rivin päivitys johtaisi ensisijaisen avaimen tai yksilöllisen indeksin rikkomiseen, kyseisen rivin päivitystä ei suoriteta. sarake1, sarake2 Sarakkeet, jotka haluat päivittää. lauseke1, lauseke2 Uudet arvot, jotka määritetään sarake1, sarake 2. Niin sarake1 lauseke1, sarake 2 annettaisiin arvo ilmaisu2, ja niin edelleen. WHERE ehdot Valinnainen. Edellytykset, jotka on täytettävä päivityksen suorittamiseksi. ORDER BY lauseke Valinnainen. Sitä voidaan käyttää yhdessä LIMIT:n kanssa tietueiden lajittelemiseksi asianmukaisesti, kun päivitettävien tietueiden määrää rajoitetaan. LIMIT number_rows Valinnainen. Jos LIMIT on annettu, se ohjaa taulukossa päivitettävien tietueiden enimmäismäärää. Korkeintaan määrittämä tietueiden määrä numero_rivit päivitetään taulukkoon.

Esimerkki - Päivitä yksi sarake

Katsotaanpa hyvin yksinkertaista MySQL UPDATE -kyselyesimerkkiä.

UPDATE asiakkaat SET last_name = "Anderson" WHERE asiakastunnus = 5000;

Tämä MySQL UPDATE -esimerkki päivittää sukunimi"Andersonille" vuonna Asiakkaat pöytä, jossa Asiakas ID on 5000.

Esimerkki - Päivitä useita sarakkeita

Katsotaanpa esimerkkiä MySQL UPDATE, jossa saatat haluta päivittää useamman kuin yhden sarakkeen yhdellä UPDATE-käskyllä.

UPDATE asiakkaat SET state = "Kalifornia", customer_rep = 32 WHERE asiakastunnus > 100;

Kun haluat päivittää useita sarakkeita, sinä pystyt tee tämä erottamalla sarake/arvo-parit pilkuilla.

osavaltio"Kaliforniaan" ja Customer_rep 32:een, jossa Asiakas ID on suurempi kuin 100.

Esimerkki - Päivitä taulukko toisen taulukon tiedoilla

Katsotaanpa esimerkkiä PÄIVITYS, joka näyttää, kuinka taulukko päivitetään toisesta MySQL-taulukosta peräisin olevilla tiedoilla.

PÄIVITYS asiakkaita
SET kaupunki = (VALITSE kaupunki
toimittajilta
WHERE toimittajat.toimittajan_nimi = asiakkaat.asiakkaan_nimi)
WHERE asiakastunnus > 2000;

Tämä PÄIVITYS-esimerkki päivittää vain Asiakkaat taulukko kaikille tietueille, joissa Asiakas ID on suurempi kuin 2000. Kun Toimittajan nimi alkaen toimittajia taulukko vastaa Asiakkaan nimi alkaen Asiakkaat pöytä, kaupunki toimittajataulukosta kopioitaisiin kaupunki kentässä Asiakkaat pöytä.

Esimerkki - Päivitä useita taulukoita

Katsotaanpa esimerkkiä MySQL UPDATE, jossa saatat haluta suorittaa päivityksen, joka sisältää useamman kuin yhden taulukon yhdessä UPDATE-käskyssä.

PÄIVITYS asiakkaat, toimittajat SET asiakkaat.kaupunki = toimittajat.kaupunki WHERE asiakkaat.asiakastunnus = toimittajat.toimittajatunnus;

Tämä MySQL UPDATE -lauseesimerkki päivittää kaupunki kentässä Asiakkaat pöytään kaupunki alkaen toimittajia pöytä, jossa Asiakas ID vastaa toimittajan_tunnus.

Jos meidän on muutettava tai päivitettävä MySQL:n tietoja, voimme käyttää SQL UPDATE -komentoa toimiakseen. ,

kielioppi

Seuraava on UPDATE-komento, jolla muutetaan MySQL Sheet Data General SQL -syntaksia:

PÄIVITYS taulukon_nimi SET kenttä1=uusi-arvo1, kenttä2=uusi-arvo2

  • Voit päivittää yhtä tai useampaa kenttää samanaikaisesti.
  • Voit määrittää minkä tahansa ehdon WHERE-lauseessa.
  • Voit myös päivittää tiedot erilliseen taulukkoon.

Kun haluat päivittää taulukon riveillä määritettyjä tietoja, INEKE on erittäin hyödyllinen.

Komentorivi tietojen päivittämiseen

Alla päivitämme tietotaulukossa määritetyn w3big_tbl:n käyttämällä SQL-komennot PÄIVITYS INEKE:

esimerkkejä

Seuraava esimerkki päivittää tietotaulukon w3big_title w3big_id-kentän arvoksi 3:

# mysql -u root -p salasana; Anna salasana:******* mysql> use w3big; Tietokanta muutettu mysql> UPDATE w3big_tbl -> SET w3big_title="Learning JAVA" -> WHERE w3big_id=3; Query OK, 1 row affected (0.04 sec) Rows matched: 1 Changed: 1 Warnings: 0 mysql> !}

Käytä PHP-skriptiä tietojen päivittämiseen

PHP-funktio mysql_query():n suorittamiseen SQL-lauseet, voit käyttää UPDATE SQL -käskyä tai INEKE ei sovellu.

Tämä toiminto MySQL:ssä> komentorivi SQL-lauseiden suorittamisen vaikutus on sama.

esimerkkejä

Seuraava esimerkki päivittää w3big_id-tiedot w3big_title 3 -kentässä.

PÄIVITYS syntaksi

Yhden taulukon syntaksi:
PÄIVITTÄÄ shya_tabletsh
ASETA sarakkeen_nimi1=lauseke1 [, Nimi_ sarake2=lauseke2...]


Usean taulukon syntaksi:

PÄIVITYS taulukon_nimi [, taulukon_nimi...] SET sarakkeen_nimi 1=lauseke1 [,sarakkeen_nimi2=lauseke2...]
UPDATE-käsky päivittää olemassa olevien taulukon rivien sarakkeet uusilla arvoilla. SET-lauseessa luetellaan muokattavat sarakkeet ja niille määritettävät arvot. Jos WHERE-lause on määritetty, se määrittää, mitkä rivit tulee päivittää. Muussa tapauksessa kaikki taulukon rivit päivitetään. Jos ORDER BY -lause on määritetty, rivit päivitetään määritetyssä järjestyksessä. LIMIT-rakenne asettaa rajoituksen päivitettävien rivien lukumäärälle.
UPDATE-käsky tukee seuraavia määritteitä:

  1. Jos LOW_PRIORITY-avainsana on määritetty, PÄIVITYS viivästyy, kunnes kaikki muut asiakkaat ovat lopettaneet taulukon lukemisen.
  2. Jos IGNORE-avainsana on määritetty, päivitys ei epäonnistu, vaikka päällekkäisiä avainvirheitä tapahtuisi. Ristiriitaa aiheuttavia rivejä ei päivitetä.

Jos käytät sarakkeita taulukosta taulukon_nimi lausekkeissa UPDATE käyttää sarakkeiden nykyistä arvoa. Esimerkiksi, seuraava lausunto lisää ikäsaraketta yhdellä:
mysql> PÄIVITYS henkilötiedot SET ikä=ikä+l;
Tehtävät UPDATEssa tehdään vasemmalta oikealle. Esimerkiksi seuraava lauseke kaksinkertaistaa ikäsarakkeen arvon ja lisää sitä sitten yhdellä: mysql> PÄIVITYS henkilötiedot SET ikä=ikä*2, ikä=ikä+l;
Jos asetat sarakkeen arvon mitä tahansa, MySQL havaitsee tämän eikä päivity.
Jos päivität sarakkeen, joka on ilmoitettu EI tyhjäksi, arvoksi NULL, se asetetaan oletusarvoon, joka sopii tietylle tietotyypille ja lisää varoituslaskuria yhdellä. Oletusarvo on 0 numeerisille sarakkeille, tyhjä merkkijono ("") merkkisarakkeille ja "null" päivämäärä- ja aikasarakkeille.
PÄIVITYS palauttaa todella päivitettyjen rivien määrän. MySQL 3.22:ssa ja uudemmissa versioissa mysql_info()-funktio ohjelmiston käyttöliittymä KANSSA API palauttaa kyselyä vastaavien ja päivitettyjen rivien määrän sekä PÄIVITYKSEN aikana esiintyneiden varoitusten lukumäärän.
MySQL 3.23:sta lähtien voit käyttää limitiä rivien määrä rajoittaaksesi PÄIVITYKSEN laajuutta.
LIMIT-rakenne toimii seuraavasti:

  1. Ennen MySQL 4.0.13:a LIMIT oli rajoitettu käsiteltyjen rivien lukumäärälle. Operaattori poistui heti päivityksen jälkeen rivien määrä rivejä, jotka täyttivät WHERE-ehdon.
  2. MySQL 4.0.13:sta lähtien raja on merkkijonojen täsmäytysraja. Operaattori poistuu heti löydettyään rivien määrä rivit, jotka täyttävät WHERE-ehdon, riippumatta siitä, onko ne todella päivitetty.

Jos UPDATE-käsky sisältää lausekkeen mukaisen järjestyksen, rivit päivitetään tämän lausekkeen määrittämässä järjestyksessä. ORDER BY:tä voidaan käyttää MySQL 4.0.0:sta alkaen.
MySQL 4.0.0:sta lähtien on myös mahdollista suorittaa UPDATE-toimintoja, jotka toimivat useissa taulukoissa kerralla:
PÄIVITYS tuotteet,kuukausi SET items.price=month.price WHERE items.id-month. id/ Tämä esimerkki osoittaa sisäisen liitoksen käyttämällä pilkkuoperaattoria, mutta usean taulukon PÄIVITYKSET voivat käyttää mitä tahansa liitostyyppiä, joka sallitaan SELECT-lause, esimerkiksi LEFT JOIN.
Huomaa!

  • Et voi käyttää ORDER BY:tä tai LIMIT:iä usean taulukon UPDATE-lausekkeissa.
Ennen MySQL 4.0.18:aa piti olla UPDATE-oikeus kaikissa usean taulukon UPDATE:ssä käytetyissä taulukoissa, vaikka niitä ei olisikaan päivitetty. MySQL 4.0.18:sta alkaen sellaisilla taulukoilla, joiden sarakkeita vain luetaan, mutta ei päivitetä, on oltava vain SELECT-oikeus.
Jos käytät usean taulukon UPDATE-käskyä InnoDB-taulukoissa, joissa on määritetty vieraiden avainten rajoituksia, MySQL-optimoija voi käsitellä ne eri järjestyksessä kuin niiden ylä-lapsi-suhteiden määrittämä. Tässä tapauksessa lausunto epäonnistuu ja tapahtuma peruutetaan. Päivitä sen sijaan yksi taulukko ja luota ON UPDATE -ominaisuuteen, joka tarjoaa InnoDB-moottorin automaattinen päivitys liittyvät taulukot.


Ylös