- 1 1. Sissejuhatus
- 2 2. Mis on ON DUPLICATE KEY UPDATE?
- 3 3. Põhikasutusnäited
- 4 4. Täiustatud kasutamine
- 5 5. Hoiatused ja parimad tavad
- 6 6. Sarnased funktsioonid teistes andmebaasides
- 7 7. Kokkuvõte
- 8 8. FAQ
- 8.1 Q1: Millised MySQLi versioonid toetavad ON DUPLICATE KEY UPDATE?
- 8.2 Q2: Kas ON DUPLICATE KEY UPDATE töötab ilma peamise võtme?
- 8.3 Q3: Milline on erinevus ON DUPLICATE KEY UPDATE ja REPLACE käsu vahel?
- 8.4 Q4: Kuidas optimeerida ON DUPLICATE KEY UPDATE päringute jõudlust?
- 8.5 Q5: Kas on võimalik muuta dubleedi tuvastamise tingimust?
- 8.6 Q6: Mis põhjustab „Duplicate entry“ vea ja kuidas sellega toime tulla?
- 8.7 Q7: Kas käsklused mõjutavad ON DUPLICATE KEY UPDATE?
- 8.8 Q8: Kas sama päringut saab kasutada ka teistes andmebaasides?
- 8.9 Kokkuvõte
1. Sissejuhatus
Üks sagedastest väljakutsetest andmebaaside haldamisel on „duplikaatandmete töötlemine“. Näiteks süsteemis, mis haldab klienditeavet, peab uue kliendi registreerimisel kontrollima, kas andmed on juba olemas, ja juhul kui on, uuendama kirja. Kui seda käsitsi tehakse, võivad esineda vead või viivitused.
Siin tuleb mängu MySQL-i ON DUPLICATE KEY UPDATE süntaks. Selle funktsiooni kasutades saate duplikaatandmete ilmumise korral automaatselt õige töötlemise teha. Seetõttu muutub andmete tõhus haldamine võimalikuks ja arendajatele koormus väheneb.
Selles artiklis selgitame ON DUPLICATE KEY UPDATE-i põhisüntaksit, kasutuse näiteid, edasisi kasutusviise ja olulisi punkte, millele tähelepanu pöörata. See võimaldab algajadest kuni keskeraskuse arendajateni seda funktsiooni tõhusalt kasutada reaalsetes projektides.
2. Mis on ON DUPLICATE KEY UPDATE?
MySQL-is on „ON DUPLICATE KEY UPDATE“ mugav süntaks, mis võimaldab teil automaatselt andmeid värskendada, kui INSERT-deklaratsioon rübeb primaarse või unikaalse võtme piirangut. Selle abil saate tõhusalt teha andmete lisamise ja värskendamise ühes päringus.
Põhikoht
Tavaliselt, kui kasutate INSERT-deklaratsiooni andmete lisamiseks, ja primaarne või unikaalne võti duplikaatuks muutub, tekib viga. Kui aga kasutate ON DUPLICATE KEY UPDATE, saate saavutada järgneva:
- Kui soovite lisada uued andmed, täidab INSERT tavaliselt.
- Kui lisatavad andmed duplikaatisteks muudavad olemasolevaid andmeid, värskendatakse määratud veerge.
See võimaldab tõhusat andmete töötlust, vältides vigu.
Põhisisüntaks
Järgneb ON DUPLICATE KEY UPDATE-i põhisisüntaks:
INSERT INTO table_name (column1, column2, column3)
VALUES (value1, value2, value3)
ON DUPLICATE KEY UPDATE column1 = value1, column2 = value2;
table_name: Sihttabeli nimi.column1, column2, column3: Veergude nimed, kuhu andmeid sisestatakse.value1, value2, value3: Sisestatavad väärtused.ON DUPLICATE KEY UPDATE: Määrab värskenduskäsu juhul, kui duplikaat tekib.
Töötamise tingimused
Selle süntaksi töötamiseks peab tabelil olema vähemalt üks järgmistest piirangutest:
- PRIMARY KEY : Veerg, mille väärtused on unikaalsed.
- UNIQUE KEY : Veerg, mis ei luba duplikaate.
Ilma nende piiranguteta ei tööta ON DUPLICATE KEY UPDATE.
Kasutusnäide
Lihtsa näite jaoks oletame andmete lisamist/muudetud kasutajate informatsioonitabelisse.
Tabeli definitsioon
CREATE TABLE users (
id INT PRIMARY KEY,
name VARCHAR(50),
email VARCHAR(100) UNIQUE
);
Ühendades INSERT-deklaratsiooni
Järgnev päring käsitleb olukordi, kus kasutaja ID või e-posti aadress on juba olemas.
INSERT INTO users (id, name, email)
VALUES (1, 'Taro', 'taro@example.com')
ON DUPLICATE KEY UPDATE name = 'Taro', email = 'taro@example.com';
- Kui ID-ga 1 kasutaja juba eksisteerib, värskendatakse veerge
namejaemail. - Kui kasutajat ei eksisteeri, lisatakse uus kirje.
3. Põhikasutusnäited
Selles osas tutvustame ON DUPLICATE KEY UPDATE-i põhikasutuse näiteid, keskendudes ühe kirje töötlemisele ja mitme kirje töötlemisele.
Ühe kirje töötlemine
Kui lisate ühe kirje, vaatame näiteid, kus duplikaatandmete olemasolu korral neid värskendatakse.
Tabeli definitsioon
CREATE TABLE products (
id INT PRIMARY KEY,
name VARCHAR(50),
stock INT
);
Põhiline INSERT-deklaratsioon
Järgnev päring lisab andmed toote ID-ga = 1. Kui kirje eksisteerib, värskendatakse laoseisu.
INSERT INTO products (id, name, stock)
VALUES (1, 'Product A', 100)
ON DUPLICATE KEY UPDATE stock = 100;
Operatsiooni selgitus
- Kui toote ID-ga 1 kirjet pole, lisatakse uus kirje.
- Kui kirje juba eksisteerib, värskendatakse veerg
stockväärtuseks100.
Mitme kirje töötlemine
Järgmisena näitame näidet mitme kirje üheaegsest töötlemisest.
Töötlemine mitme väärtuse massiliseks lisamiseks
Järgnev päring lisab massiliselt mitu toodete andmekirjet.
INSERT INTO products (id, name, stock)
VALUES
(1, 'Product A', 100),
(2, 'Product B', 200),
(3, 'Product C', 300)
ON DUPLICATE KEY UPDATE stock = VALUES(stock);
Operatsiooni selgitus
VALUES(stock)viitab iga kirje sisestamise väärtusele (siin 100, 200, 300).- Kui toote ID on juba olemas, siis selle laoseisu värskendatakse sisestatava väärtuse põhjal.
- Kui ei ole olemas, lisatakse uus kirje.
Täiustatud: dünaamilised väärtuste värskendused
Samuti saab dünaamiliselt värskendada olemasoleva andme põhjal. Järgmine näide lisab olemasolevale laoseisu juurde.
INSERT INTO products (id, name, stock)
VALUES (1, 'Product A', 50)
ON DUPLICATE KEY UPDATE stock = stock + VALUES(stock);
Operatsiooni selgitus
- Kui toote ID-ga 1 on juba olemas, siis selle praegune
stocksuurendatakse50võrra. - Kui ei ole olemas, lisatakse uus kirje, mille
stockon 50.
Kokkuvõte
- Sa saad tõhusalt töötlemine mitte ainult ühe kirje, vaid ka mitme kirje hulga.
- Kasutades
VALUES()saad teha paindlikke värskendusi sisestatud andmete abil.
4. Täiustatud kasutamine
ON DUPLICATE KEY UPDATE kasutades saad minna kaugemale põhivõrgu sisestamise/värskendamise töötluse, teostades paindlikke andmeoperatsioone. Selles osas käsitleme tingimuslikke värskendusi, nende kombinatsiooni tehingutega ja muid täiendavaid kasutusvõimalusi.
Tingimuslikud värskendused
ON DUPLICATE KEY UPDATE abil saad veerge värskendada tingimuslikult CASE või IF lausetega. See võimaldab paindlikku värskendust loogikat vastavalt olukorrale.
Näide: Muuda laoseisu ainult siis, kui see on all teatud piirangust
Järgmine näide värskendab laoseisu ainult siis, kui see on all määratud numbrist.
INSERT INTO products (id, name, stock)
VALUES (1, 'Product A', 100)
ON DUPLICATE KEY UPDATE stock = CASE
WHEN stock < 50 THEN VALUES(stock)
ELSE stock
END;
Operatsiooni selgitus
- Kui toote ID-ga 1 on olemas ja selle praegune
stockon all 50, siis värskendatakse uuele väärtusele (100). - Kui see on 50 või kõrgem, värskendus ei rakendu ja olemasolev väärtus jääb samaks.
DÜNAAMILISTTE VÄÄRTUSTE TÕÕSTAMINE
Sa võid teha operatsioone dünaamiliste arvutuste abil ja värskendada sisestatud andmete põhjal.
Näide: Kokkuvõtlik andmete värskendus
Järgnev lisab uue väärtuse olemasolevale laoseisu juurde.
INSERT INTO products (id, name, stock)
VALUES (2, 'Product B', 50)
ON DUPLICATE KEY UPDATE stock = stock + VALUES(stock);
Operatsiooni selgitus
- Kui toote ID-ga 2 on juba olemas, siis selle praegune
stocksuureneb 50 võrra. - Kui ei ole olemas, lisatakse uus kirje.
Tehingutega kombineerimine
Mitme INSERT lause või muu andmeoperatsiooni grupeerimisega tehingus saab teha keerulisi töötlemisi säilitades andmete ühtsuse.
Näide: Massiline töötlemine tehinguga
Järgnev näide töötleb mitmeid kirjeid korraga ja tagastab, kui tekib viga.
START TRANSACTION;
INSERT INTO products (id, name, stock)
VALUES
(1, 'Product A', 100),
(2, 'Product B', 200)
ON DUPLICATE KEY UPDATE stock = VALUES(stock);
INSERT INTO products (id, name, stock)
VALUES
(3, 'Product C', 300)
ON DUPLICATE KEY UPDATE stock = stock + VALUES(stock);
COMMIT;
Operatsiooni selgitus
- Mitmeid päringuid täidetakse
START TRANSACTIONjaCOMMITvahel. - Kui mõni päring ebaõnnestub, toimub tagasipööramine ja andmebaasi muudatusi ei rakendata.
Praktikakäsitlused Täiustatud Kasutuse
Scenaarium 1: Ladu haldamine e-kaubanduse veebilehe jaoks
Kui artiklid ostetakse e-kaubanduse veebilehel, võid vähendada ostetud toote laoseisu.
INSERT INTO products (id, name, stock)
VALUES (4, 'Product D', 100)
ON DUPLICATE KEY UPDATE stock = stock - 1;
Scenaarium 2: Kasutaja punktisüsteem
INSERT INTO users (id, name, points)
VALUES (1, 'Taro', 50)
ON DUPLICATE KEY UPDATE points = points + VALUES(points);
Kokkuvõte
- Kasutades
CASElauseid ja dünaamilisi uuendusi, saate rakendada keerukat tingimuslikku loogikat. - Kombineerides tehinguid, saate andmetega turvaliselt ja usaldusväärselt töötada, säilitades samal ajal järjepidevust.
- Rakendades reaalseid stsenaariume, saate saavutada tõhusa andmete haldamise.

5. Hoiatused ja parimad tavad
Kui kasutate ON DUPLICATE KEY UPDATE, võib vigase kasutamise korral põhjustada ootamatut käitumist või jõudluslangust. Selles osas tutvustame jälgitavaid punkte ja tõhusa kasutamise parimaid tavasid.
Peamised hoiatused
1. Suhe AUTO_INCREMENT’iga
- Probleem Kui tabeli primaarvõti kasutab
AUTO_INCREMENT-i, võib ON DUPLICATE KEY UPDATE suurendada AUTO_INCREMENT väärtust isegi juhul, kui duplikaate ei esine. See juhtub, sest MySQL reserveerib uue ID-i INSERTi proovima. - Lahendus Jäätmete ID-i suurendamise vältimiseks ka INSERTi ebaõnnestumisel, kasutage unikaalvõtit ja vajadusel kasutage
LAST_INSERT_ID()viimase ID-i saamiseks.
INSERT INTO products (id, name, stock)
VALUES (NULL, 'Product E', 50)
ON DUPLICATE KEY UPDATE stock = stock + VALUES(stock);
2. Lukustamise risk
- Probleem Kui mitu lõime täidab samal ajal ON DUPLICATE KEY UPDATE samal tabelil, võite kogeda lukustamisi.
- Lahendus 1. Standardiseerige päringute täitmise järjekord. 2. Vajadusel kasutage tabeli lukustamist (mõelge jõudlusnõutud). 3. Rakendage lukustamise juhtumite puhul kordamisharjutust.
3. Õige indeksiareng
- Probleem Kui tabelil puudub unikaalvõti või primaarvõti, ei tööta ON DUPLICATE KEY UPDATE. Samuti võib ilma õige indekseerimiseta jõudlus drastiliselt halveneda.
- Lahendus Määrake alati tabelil primaarvõti või unikaalvõti ja rakendage sobivaid indeksitid tihti otsitavatele või uuendatavatele veergudele.
Parimad tavad
1. Andmete eelkontroll
- Enne INSERTi kasutage SELECTi lauset, et kontrollida, kas andmed eksisteerivad, vältides tahtmatuid uuendusi.
SELECT id FROM products WHERE id = 1;
2. Tehingute kasutamine
- Kasutage tehinguid, et grupeerida mitu INSERTi või UPDATEi ühe täitmiseks. See aitab säilitada järjepidevust, kaitstes samal ajal andmeoperatsioone.
START TRANSACTION;
INSERT INTO products (id, name, stock)
VALUES (1, 'Product A', 100)
ON DUPLICATE KEY UPDATE stock = stock + 50;
COMMIT;
3. Uuendatud veergude vähendamine
- Piirates uuendatud veerge saate parandada jõudlust ja vältida mittevajalikku andmemaandust.
INSERT INTO products (id, name, stock)
VALUES (1, 'Product A', 100)
ON DUPLICATE KEY UPDATE stock = VALUES(stock);
4. Viga käsitlemine
- Valmistage ette viga käsitlemine lukustamiseks või INSERTi ebaõnnestumiste jaoks ja rakendage sobiv kordamine või tagasipööramine.
Kokkuvõte
- Hoiatused : Pöörake tähelepanu AUTO_INCREMENT’i suurendamisele, lukustamise riskidele ja sobimatu indeksiarengule.
- Parimad tavad : Kasutage tehinguid ja veigukäsitlust, et turvaliselt ja tõhusalt toiminguid teostada.
6. Sarnased funktsioonid teistes andmebaasides
MySQLi „ON DUPLICATE KEY UPDATE“ on võimas funktsioon, mis võimaldab tõhusaid andmetöötlusi. See on aga spetsiifiline MySQLile. Teised andmebaasisüsteemid pakuvad sarnast funktsionaalsust, kuid erinevate omadustega. Sel juhul võrdleme PostgreSQLi ja SQLite’iga.
PostgreSQL: ON CONFLICT DO UPDATE
PostgreSQLis vastab süntaks „ON CONFLICT DO UPDATE“ MySQLi „ON DUPLICATE KEY UPDATE“ süntaksile. See süntaks pakub paindlikku mehhanismi, mis võimaldab teil täita konkreetseid toiminguid, kui tuvastatakse duplikaatandmed.
Baasi süntaks
INSERT INTO table_name (column1, column2)
VALUES (value1, value2)
ON CONFLICT (column1) DO UPDATE
SET column2 = value2;
ON CONFLICT (column1): Määrab duplikaadi tingimuse (unikaalne võti või põhivõti jms).DO UPDATE: Määrab, mida duplikaadisituatsioonis täidakse.
Kasutamise näide
Näidis, kus toote tabelis, kui toote ID duplikaat on, uuendatakse varusid.
INSERT INTO products (id, name, stock)
VALUES (1, 'Product A', 100)
ON CONFLICT (id) DO UPDATE
SET stock = EXCLUDED.stock;
EXCLUDED.stock: Viitab väärtusele, mida püüdsite lisada.
Omadused
- Erinevus MySQL’ist PostgreSQLis määrate eksplicitult konflikti tingimuse, mis võimaldab käsitleda tabelit, millel on mitmed unikaalsed võtmed paindlikumalt.
- Eelised Võite lisada edasijõudnud tingimuslikku loogikat, uuendada ainult teatud veerge jne.
SQLite: INSERT OR REPLACE / INSERT OR IGNORE
SQLite pakub „INSERT OR REPLACE“ ja „INSERT OR IGNORE“, kuid need erinevad mõnevõrra MySQL või PostgreSQL süntakstist.
INSERT OR REPLACE
„INSERT OR REPLACE“ kustutab olemasoleva rea, kui duplikaat on olemas, ja seejärel lisab uue rea.
Põhisisümant
INSERT OR REPLACE INTO table_name (column1, column2)
VALUES (value1, value2);
Kasutamise näide
Järgnevas näites kustutatakse ja lisatakse uuesti, kui toote ID duplikaat on.
INSERT OR REPLACE INTO products (id, name, stock)
VALUES (1, 'Product A', 100);
Omadused
- Käitumise erinevus Eelduse asemel kustutab SQLite olemasoleva rea ja seejärel lisab uue.
- Arvestamine Kuna kustutamise ajal võivad triggri käivituda, tuleb olla ettevaatlik, kui triggreid on määratletud.
INSERT OR IGNORE
„INSERT OR IGNORE“ ignoreerib lisamise, kui duplikaat andmed on olemas, ja ei tee midagi.
Võrdlustabel
Andmebaas | Syntax | Omadused |
|---|---|---|
MySQL | KÄSITLE KÕIKUV ÄRIEKSI UUENDAMINE | Uuendab määratud veerge, kui esineb duplikaat. Lühike ja tõhus. |
PostgreSQL | KONFLIKTIS TEOSTA UUENDAMINE | Suur paindlikkus tingimusliku loogika jaoks. Kõrge kohandatavus. |
SQLite | INSERT OR REPLACE / IGNORE | REPLACE kustutab seejärel lisab. IGNORE võtab eemale vead. |
Kokkuvõte
- MySQLi „ON DUPLICATE KEY UPDATE“ iseloomustab lühike ja efektiivne lisamise- või uuendamise töötlus.
- PostgreSQLi „ON CONFLICT DO UPDATE“ pakub paindlikkust ja arenenud kontrolli keerukate tingimuste jaoks.
- SQLitei „INSERT OR REPLACE“ kustutab ja lisab uuesti, mistõttu tuleb arvestada triggerite mõjudega.
7. Kokkuvõte
Selles artiklis käsitlesime MySQLi „ON DUPLICATE KEY UPDATE“ põhisisümantist, kasutusnäiteid, ettevaatusabinõusid ja võrdlust teiste andmebaasidega. Õige arusaamise ja valdkonna valdamise abil saate andmebaasi operatsioone tõhusamaks teha ning rakenduse jõudlust ja usaldusväärsust parandada.
ON DUPLICATE KEY UPDATE eelised
- Efektiivne andmete haldamine
- Saate täita lisamise ja uuendamise ühes päringus, muutes töötlemise lühikeseks ja kiiraks.
- Lihtsustatud duplikaatandmete käsitlemine
- Saate määratleda selge käitumise duplikaatandmete jaoks, muutes veaparanduse lihtsamaks.
- Kõrge kohanemisvõime
- Võite teha dünaamilisi uuendusi ja tingimuslikku loogikat, võimaldades paindlikku töötlemist.
Efektiivse kasutamise stsenaariumid
- Varude haldamissüsteem
- Toote varude dünaamiline uuendamine.
- Kasutajate haldamissüsteem
- Kasutajate teabe lisamine või uuendamine.
- Punktide haldamissüsteem
- Kasutajapunktide lisamine või uuendamine.
Selles kontekstis, kasutades ON DUPLICATE KEY UPDATE, saate vähendada koodi hulka ja parandada hooldatavust.
Tähelepanekud
- AUTO_INCREMENTi mure
- Kui teie põhivõti kasutab
AUTO_INCREMENT, tuleb olla ettevaatlik, et ID’d ei suureneks ka siis, kui duplikaat ei tekkinud.
- Suurte lukustuste vältimine
- Peate hoolikalt kavandama täitmise järjekorra ja tehingu loogikat, et vältida lukustusi.
- Indeksi disaini tähtsus
- Sobivate põhivõtete ja unikaalvõtete planeerimisega vältite vigu ja parandate jõudlust.
Võrdlus teiste andmebaasidega
- PostgreSQLi „ON CONFLICT DO UPDATE“ võimaldab paindlikku tingimuslikku loogikat.
- SQLitei „INSERT OR REPLACE“ kustutab esmalt ja seejärel lisab, seega tuleb jälgida triggereid.
Lõplikud soovitused
- Lihtne sisestamise või uuendamise töötlemise puhul kasutage proaktiivselt ON DUPLICATE KEY UPDATE.
- Suurte andmeoperatsioonide või keerukama tingimuslogika puhul ühendage tehingud ja eelkontrollid, et suurendada turvalisust.
Õigesti kasutades ON DUPLICATE KEY UPDATE, ei lihtsusta see vaid arendust, vaid suurendab ka teie rakenduse usaldusväärsust. Palun kasutage selle artikli sisu viitena ja rakendage seda oma projektis.
8. FAQ
Selles artiklis esitasime palju teavet MySQLi „ON DUPLICATE KEY UPDATE“ kohta. Selles sektsioonis lühendame tavapäraseid küsimusi ja nende vastuseid, et süvendada teie praktilist teadmist.
Q1: Millised MySQLi versioonid toetavad ON DUPLICATE KEY UPDATE?
- A1: See on saadaval MySQL 4.1.0-st alates. Kuid mõned funktsioonid või käitumine võivad versiooniti erineda, seetõttu soovitame kontrollida kasutatava versiooni ametlikku dokumentatsiooni.
Q2: Kas ON DUPLICATE KEY UPDATE töötab ilma peamise võtme?
- A2: Ei. ON DUPLICATE KEY UPDATE töötab ainult tabelites, millel on peamine võti või unikaalne võti. Seetõttu veenduge, et määratlete vähemalt ühe unikaalse või peamise võtme tabeli kujundamisel.
Q3: Milline on erinevus ON DUPLICATE KEY UPDATE ja REPLACE käsu vahel?
- A3:
- ON DUPLICATE KEY UPDATE värskendab konkreetseid veerge, kui tuvastatakse dubleet.
- REPLACE kustutab olemasoleva kirje ja seejärel sisestab uue. Seega võivad kustutamise käsklused lauks ja see võib mõjutada andmete järjepidevust.
Q4: Kuidas optimeerida ON DUPLICATE KEY UPDATE päringute jõudlust?
- A4:
- Õige indeksirakendus : Peamise või unikaalse võtme korrektses seadistamises kiirendab dubleedi tuvastamist.
- Väldi üleliigseid värskendusi : Värskendades vaid vajalikke veerge vähendad lisaprosessimist.
- Kasutage tehinguid : Koguse töötluse rühmitamisel vähendate andmebaasi koormust.
Q5: Kas on võimalik muuta dubleedi tuvastamise tingimust?
- A5: Kui soovite tingimust muuta, peate muutma unikaalse või peamise võtme definitsiooni. MySQL-is ei saa muuta ON DUPLICATE KEY UPDATE sisemist käitumist ise.
Q6: Mis põhjustab „Duplicate entry“ vea ja kuidas sellega toime tulla?
- A6:
- Soo : See juhtub, kui püüate sisestada andmeid, mis ründavad unikaalse või peamise võtme piiramist.
- Lahendus :
- Kontrollige tabeli skeemi ja leidke veerg, mis põhjustab dubleedi.
- Enne INSERTi täitmist kasutage SELECTi, et kontrollida, kas dubleete andmeid olemas on.
- Kasutage ON DUPLICATE KEY UPDATE õigesti, et vältida seda tõrget.
Q7: Kas käsklused mõjutavad ON DUPLICATE KEY UPDATE?
- A7: Jah, need mõjutavad. Kui kasutate ON DUPLICATE KEY UPDATE, võivad nii INSERT- kui UPDATE-triggereid lauks. Peate arvestama selle käitumisega triggereid kujundades.
Q8: Kas sama päringut saab kasutada ka teistes andmebaasides?
- A8: Teised andmebaasid pakuvad sarnast funktsionaalsust, kuid süntaks ja käitumine erinevad. Näiteks:
- PostgreSQL : ON CONFLICT DO UPDATE
- SQLite : INSERT OR REPLACE
Pöördu alati kasutatava andmebaasi dokumentatsiooni poole ja kohanda vastavalt.
Kokkuvõte
Selles FAQ-s lahendati tavalised küsimused „ON DUPLICATE KEY UPDATE“ kohta. Eriti kasulikud on veateadete põhjused ja jõudluse optimeerimise meetodid. Kui kogete probleeme, kasutage seda FAQ-d viitena lahenduste proovimiseks.
Teadmiste ja ON DUPLICATE KEY UPDATE kasutamise abil saate realiseerida tõhusaid ja turvalisi andmebaasitegevusi.


