On Tue, 17 Feb 2004 14:56:10 +0000 (UTC), Henrik Stidsen
<nospamforme@hs235.dk> wrote:
>>>Fordi unique tillader at 1 ud af f.eks. 3 felter er ændret - jeg
>>>har brug for at ingen af dem må gå igen.
>>
>> Hvorfor vil et unikt index på hvert enkelt kolonne ikke virke?
>
>Hvis jeg har en primær nøgle og et unique felt vil blot det ene af
>dem skulle ændres for at en ny tuple godkendes af databasen. Det er
>IKKE det jeg vil opnå.
>Det jeg vil opnå er hvad der svarer til to uafhængige primærnøgler i
>samme tabel. Altså et felt der skal være unikt i sin kolonne således
>at der ikke kan tilføjes to poster med samme tekst, eller to brugere
>med samme email eller tlf nummer.
Altså, du vil undgå at flere poster kan have samme emailadresse - så
brug et unikt index på email-kolonnen - samme for telefonnr-kolonennen -
de behøver ikke at være primærnøgler - altså, ala:
CREATE TABLE bruger (
id int not null,
navn varchar(50),
email varchar(100),
telefon varchar(20),
primary key(id)
);
CREATE UNIQUE INDEX i_bruger_telefon ON bruger (telefon);
CREATE UNIQUE INDEX i_bruger_email ON bruger (email);
Kan det ikke gøre som du vil have det til?
Nu skal både email og telefon være forskellig i alle poster.
(Indrømmet, jeg er ikke helt med på hvad du er ude på ....)
--
Mads Lie Jensen - mads@gartneriet.dk - ICQ #25478403
http://www.gartneriet.dk
Kig også ind på
http://hjoerringnyplanteskole.dk/