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.