Duplikációt, hogy szoktak lekezelni adatbázisban?
Figyelt kérdés
Pl. van egy regisztrációs oldal ahol a username egy egyedi kulcs.
Ha beszeretnének már egy létező username-el regisztrálni akkor azt a duplikációt úgy szokták lekezelni, hogy előtte megnézik szerepel-e már az adatbázisba a username egy ilyen lekérdezéssel
SELECT COUNT(*) AS count FROM users WHERE username='tesztuser';
és ha 0 a count értéke akkor hozzá adják a user-t.
Vagy egyből insertelik a user-t és ha 1062-es hibakóddal tér vissza a query akkor azt lekezelik.
Melyiket szokták általában használni?
Esetleg van más módja is a duplikátumok lekezelésének?
2019. júl. 29. 11:43
1/3 anonim válasza:
Utóbbi inkább, de az pont nem szerencsés, hogy ha a név egy kulcs.
2/3 anonim válasza:
Sokmindentől függ. Ha csak annyit akarok, hogy ha nem létezik, szúrja be, akkor a következő módszerrel: INSERT INTO ... SELECT ... WHERE NOT EXISTS ...
3/3 anonim válasza:
Nekem a query alapú skálázhatóbbnak tűnik. Tegyül fel hogy be akarsz rakni egy uniwue email címet is. Ugyanúgy sql hibakóddal fog elszállni az insert, csak nem fogod tudni megmondani hogy melyik field miatt. Az sql viszont egyértelmű feedbacket tud adni, hogy mi a baj.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!