ErikBooy007
Terugkerende gebruiker
- Lid geworden
- 24 mei 2007
- Berichten
- 3.814
Goedeavond!
Ik ben bezig met het schrijven van een TwitterBot, waarbij men periodiek luchtvaartweer kan ontvangen. Nu sla ik alle abonnementen in een tabel op:
[table="width: 500, class: dotted"][tr][td]id[/td][td]uid[/td][td]uname[/td][td]field[/td][/tr]
[tr][td]1[/td][td]12345678[/td][td]ErikBooij[/td][td]EHDL[/td][/tr]
[tr][td]2[/td][td]12345678[/td][td]ErikBooij[/td][td]EHAM[/td][/tr]
[tr][td]3[/td][td]12345678[/td][td]ErikBooij[/td][td]EHVK[/td][/tr][/table]
Nu is mijn vraag: het is mogelijk dat iemand per ongeluk twee keer een abonnement op het weer van een bepaald vliegveld vraagt. Nu wil ik graag dat die uiteraard maar één keer in de database komt.
Nou kan ik natuurlijk eerst een query doen naar de database WHERE uname='xxxx' AND field='xxxx' en dan het aantal resultaten tellen om vervolgens nog een query te doen om het record daadwerkelijk te plaatsen.
Performance-wise lijkt me dit verre van ideaal. Is het mogelijk om een soort van constraint op de table te zetten die identieke records voorkomt (op het id na dan)? Dan zou ik gewoon een insert kunnen doen en vervolgens met affected_rows kunnen kijken of er wel of geen insert daadwerkelijk is uitgevoerd.
Ik ben bezig met het schrijven van een TwitterBot, waarbij men periodiek luchtvaartweer kan ontvangen. Nu sla ik alle abonnementen in een tabel op:
[table="width: 500, class: dotted"][tr][td]id[/td][td]uid[/td][td]uname[/td][td]field[/td][/tr]
[tr][td]1[/td][td]12345678[/td][td]ErikBooij[/td][td]EHDL[/td][/tr]
[tr][td]2[/td][td]12345678[/td][td]ErikBooij[/td][td]EHAM[/td][/tr]
[tr][td]3[/td][td]12345678[/td][td]ErikBooij[/td][td]EHVK[/td][/tr][/table]
Nu is mijn vraag: het is mogelijk dat iemand per ongeluk twee keer een abonnement op het weer van een bepaald vliegveld vraagt. Nu wil ik graag dat die uiteraard maar één keer in de database komt.
Nou kan ik natuurlijk eerst een query doen naar de database WHERE uname='xxxx' AND field='xxxx' en dan het aantal resultaten tellen om vervolgens nog een query te doen om het record daadwerkelijk te plaatsen.
Performance-wise lijkt me dit verre van ideaal. Is het mogelijk om een soort van constraint op de table te zetten die identieke records voorkomt (op het id na dan)? Dan zou ik gewoon een insert kunnen doen en vervolgens met affected_rows kunnen kijken of er wel of geen insert daadwerkelijk is uitgevoerd.
Laatst bewerkt: