..
Ir "gerai žinoma, kad teisinga užklausą valdymas yra stabilaus ir veiksmingo įgyvendinimo sąlyga.
Šiame straipsnyje mes bus pristatyti mažai žinomą, tačiau labai galingas sintaksę, aš kalbu apie ON DUBLIKATAS KEY UPDATE sąlyga.
Ši sąlyga yra naudojama per ĮRAŠYTI pareiškimas ir jos tikslas yra patikrinti, prieš įterpimą, kad yra pirminis raktas (pirminis raktas) arba unikalus raktas (unikalus raktas) dubliavimosi, ir, jei tai atsitinka variklio un'UPDATE MySQL vietoj įterpti.
Šio straipsnio privalumas yra aiški: jūs rašote vieną užklausą vietoj dviejų su pranašumų veiklos ir kodas valymas.
Paimkime pavyzdžiu. Tarkime, mes norime, kad paprastas scenarijų, kuris atlieka lankytojų į mūsų svetainę prisijungti. Žemiau pateiktoje lentelėje struktūra mūsų DB:
Dėl sintaksė INSERT ... APIE DUBLIKATAS KEY UPDATE ... mes galime pasiekti tą patį rezultatą su vienu užklausą:
INSERT INTO ip_visitatori VALUES ('123 .123.123.123 ', 1, NOW ())
DĖL PAGRINDINĖS DPLICATE
UPDATE numero_visite numero_visite = + 1 ultima_visita = NOW ();
Taigi, jei per TL yra įtraukti pagamintas, kitaip jums paleisti paprastą atnaujinti pažeistą įrašą.
Naudojant šį sintaksė leidžia gauti pagal eksploatacinius parametrus, lygus 30% naudos.
Su šiek tiek vaizduotės ir išradingumo atitinkamos išlygos ten gali būti labai naudinga įvairių aplinkybių.
Pavyzdžiui, mes galime naudoti jį kartu su būklę.
Štai pavyzdys: Tarkime, jūs turite iš hipotetinio internetinės aukciono svetainės struktūra yra tokia lentelę:
Pasiūlymai INSERT INTO VALUES (1, 120) DĖL PAGRINDINĖS DPLICATE UPDATE migliore_offerta = IF (VALUES (migliore_offerta) <120, 120, VALUES (migliore_offerta))Per paprasta užklausa mes išspręsti vienu ypu ... Priešingu atveju mes turėjo naudoti keletą klausimų dėl to atliekų išteklius (ir daugiau klaidų rizika).
| |
MS Access (Advanced)
Sužinokite, kaip kurti ir valdyti duomenų bazes greitai ir lengvai. Nuo 29 €. |
| |
MySQL (kurso)
Valdymas atviro kodo duomenų bazės. Nuo 39 €. |
| |
SQL ir duomenų bazės (kurso)
Kurkite ir tvarkykite reliacinėse duomenų bazėse. Nuo 39 €. |