..
Un "labi zināms, ka pareizs vaicājums vadības priekšnoteikums ir stabila un efektīva īstenošana.
Šajā rakstā mēs klāt maz zināms, bet ļoti spēcīgs sintakse, es runāju par to ON DUPLICATE KEY UPDATE klauzulu.
Šī klauzula tiek izmantots INSERT paziņojumu un tā mērķis ir pārbaudīt, pirms ievietošanas, ir dubulta primārā atslēga (primārā atslēga) vai unikālu atslēgu (unikālu atslēgu), un ja tas notiek dzinēja un'UPDATE MySQL tā vietā ievietot.
Šīs klauzulas priekšrocība ir skaidrs: jums rakstīt vienu vaicājumu, nevis divus ar priekšrocībām attiecībā uz kvalitāti un koda tīrīšana.
Apskatīsim piemēru. Pieņemsim, ka mēs vēlamies, lai vienkāršu skriptu, kas veic mežizstrādes apmeklētāju mūsu vietā. Zem tabulas struktūra mūsu DB:
Pateicoties sintaksi INSERT ... ON NORAKSTS KEY UPDATE ... mēs varam sasniegt to pašu rezultātu ar vienu vaicājumu:
INSERT INTO ip_visitatori VALUES ('123 .123.123.123 ', 1, NOW ())
ON KEY DPLICATE
UPDATE numero_visite numero_visite = + 1, ultima_visita = NOW ();
Tādējādi, ja IP ir iekļaušana notiek, citādi jūs palaist vienkāršu update skarto ieraksta.
Izmantojot šo sintakse ļauj iegūt labumu izpildījuma ziņā ir vienāds ar 30%.
Ar mazliet "iztēles un izdomas klauzulu, attiecīgā tur var būt ļoti noderīgi dažādos apstākļos.
Piemēram, mēs varam izmantot to kombinācijā ar nosacījumu.
Šeit ir piemērs: Pieņemsim, ka jums ir tabula ar hipotētisku tiešsaistes izsoles vietnes struktūra ir šāda:
Piedāvā INSERT INTO VALUES (1, 120) ON KEY DPLICATE UPDATE migliore_offerta = IF (VALUES (migliore_offerta) <120, 120, VALUES (migliore_offerta))Ar vienkāršu vaicājumu, mēs atrisināt vienā samazinājās sagrābt ... Pretējā gadījumā mums nāktos izmantot vairākus vaicājumus ar sekojošu resursu izšķērdēšana (un lielāks risks kļūdas).
| |
MS Access (Advanced)
Uzziniet, kā izveidot un pārvaldīt datubāzes ātri un viegli. Sākot ar 29 €. |
| |
MySQL (Kurss)
Vadība ir atvērtā koda datu bāzi. Sākot no € 39. |
| |
SQL un datu bāzes (Course)
Izveidot un pārvaldīt relāciju datu bāzēm. Sākot no € 39. |