Probleem:
U wilt een bepaalde kolom uniek maken in een bepaalde tabel in een database.
Voorbeeld:
We willen de kolom name
. maken uniek in de tabel product
. De onderstaande vraag biedt een manier om dit te doen.
Oplossing 1
CREATE TABLE product ( id INT NOT NULL PRIMARY KEY, name VARCHAR(100) UNIQUE, producer VARCHAR(100), category VARCHAR(100) );
Discussie:
In dit voorbeeld een bepaalde kolom (de kolom name
) is uniek gemaakt door de clausule UNIQUE toe te voegen aan het einde van de definitiekolom (name VARCHAR(100) UNIQUE
). Deze nieuwe tabel (in ons voorbeeld:product
) zal de kolom bevatten (in ons voorbeeld:name
) die unieke waarden in rijen opslaat.
Oplossing 2:
ALTER TABLE product ADD CONSTRAINT UQ_product_name UNIQUE(name);
Discussie:
In dit voorbeeld de tabel product
bestaat al. We willen deze tabel aanpassen en een unieke beperking toevoegen aan kolom name
. Dit is mogelijk door gebruik te maken van de ALTER TABLE
clausule. Eerst schrijven we ALTER TABLE, dan vermelden we de naam van de tabel (in ons voorbeeld:product
), en vervolgens voegen we de clausule toe ADD CONSTRAINT
met de naam van de unieke beperking (in ons voorbeeld:UQ_product_name
). Dit wordt gevolgd door het trefwoord UNIQUE met kolom/kolommen (in ons voorbeeld is dit kolom:name
) tussen haakjes.
U kunt ook een unieke beperking met meerdere kolommen maken. Hier is hoe:
Oplossing 3:
ALTER TABLE product ADD CONSTRAINT UQ_product_name_producer UNIQUE(name, producer);
Discussie:
In dit voorbeeld wordt het tabelproduct gewijzigd met behulp van de ALTER TABLE
clausule en de clausule ADD CONSTRAINT met de naam van de unieke beperking (in ons voorbeeld:UQ_product_name_producer
) gevolgd door de UNIQUE
trefwoord met de lijst met kolommen (in ons voorbeeld zijn er twee kolommen:name
en producer
) tussen haakjes.