Een bepaald veld in een tabel wil ik als volgt hebben:
- alle waarden moeten unique zijn
- maar NULL waarden moeten wel mogelijk zijn
In Interbase mag je een veld niet declareren met UNIQUE zonder er NOT NULL bij te zetten. Dus UNIQUE kan ik er niet voor gebruiken.
Wat ik dan zou kunnen doen is eerst opvragen met een select of dat die waarde al bestaat, zo niet dan kan ik hem toevoegen.
Maar teneerste dan zou dat dus client-side gebeuren en volgens mij is het beter om dat server-side te doen, zodat je er zeker van bent dat er geen dubbele waarden voorkomen.
En als tweede kan het dus dat er meerdere clients allemaal tegelijkertijd dezelfde waarde willen toevoegen. Die zouden dan allemaal een select kunnen uitvoeren en allemaal krijgen ze een resultaat terug wat aangeeft dat de waarde nog niet aanwezig is.
Dus dit is ook geen oplossing.
Weet iemand een oplossing?
- alle waarden moeten unique zijn
- maar NULL waarden moeten wel mogelijk zijn
In Interbase mag je een veld niet declareren met UNIQUE zonder er NOT NULL bij te zetten. Dus UNIQUE kan ik er niet voor gebruiken.
Wat ik dan zou kunnen doen is eerst opvragen met een select of dat die waarde al bestaat, zo niet dan kan ik hem toevoegen.
Maar teneerste dan zou dat dus client-side gebeuren en volgens mij is het beter om dat server-side te doen, zodat je er zeker van bent dat er geen dubbele waarden voorkomen.
En als tweede kan het dus dat er meerdere clients allemaal tegelijkertijd dezelfde waarde willen toevoegen. Die zouden dan allemaal een select kunnen uitvoeren en allemaal krijgen ze een resultaat terug wat aangeeft dat de waarde nog niet aanwezig is.
Dus dit is ook geen oplossing.
Weet iemand een oplossing?
edit:
Sorry, vergeten topic titel af te maken.
Als iemand het even kan veranderen in:
[SQL, Interbase] Uniek veld maar wel null waarden
Sorry, vergeten topic titel af te maken.
Als iemand het even kan veranderen in:
[SQL, Interbase] Uniek veld maar wel null waarden