Soms moet u de kolom uniek maken in MySQL. U kunt dit doen door een UNIEKE kolombeperking toe te voegen in MySQL. Er zijn een aantal manieren om een unieke beperking toe te voegen - met behulp van CREATE TABLE- of ALTER TABLE-instructies. Hier leest u hoe u een unieke beperking in MySQL kunt toevoegen.
MySQL Unieke beperking toevoegen
Hier leest u hoe u een unieke beperking in MySQL kunt toevoegen. U kunt een unieke beperking toevoegen wanneer u een tabel maakt of nadat u een tabel hebt gemaakt. We zullen beide benaderingen bekijken.
MySQL voegt unieke beperking toe tijdens het maken van een tabel
Hier is de SQL-instructie om UNIEKE beperking te creëren wanneer u een tabel maakt
CREATE TABLE table_name( ..., column_name data_type UNIQUE, ... )
In de bovenstaande zoekopdracht moet u het trefwoord UNIQUE opgeven voor de definitie van de kolom die u uniek wilt maken.
Hier is een voorbeeld om een unieke beperking te creëren. In het volgende voorbeeld hebben we UNIQUE-beperking toegevoegd voor order_id kolom
mysql> create table recent_orders ( order_id int UNIQUE, amount int ); mysql> describe recent_orders; +----------+---------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +----------+---------+------+-----+---------+-------+ | order_id | int(11) | YES | UNI | NULL | | | amount | int(11) | YES | | NULL | | +----------+---------+------+-----+---------+-------+
Als u nu dubbele waarden probeert in te voegen voor order_id kolom krijgt u een foutmelding.
mysql> insert into recent_orders(order_id, amount) values(1, 100),(1,250); ERROR 1062 (23000): Duplicate entry '1' for key 'order_id' mysql> insert into recent_orders(order_id, amount) values(1, 100),(2,250); mysql> select * from recent_orders; +----------+--------+ | order_id | amount | +----------+--------+ | 1 | 100 | | 2 | 250 | +----------+--------+
Bonus Lezen:MySQL Kolom hernoemen
MySQL Voeg unieke beperking toe aan bestaande kolom
Hier is de SQL-instructie om UNIQUE-beperking voor een bestaande kolom te maken, met behulp van de ALTER TABLE-instructie.
ALTER TABLE table_name ADD CONSTRAINT constraint_name UNIQUE (column1, column2, ... );
In de bovenstaande SQL-query moet u een constraint_name opgeven voor UNIQUE-beperking na ADD CONSTRAINT en vermeld de kolommen die u uniek wilt maken in ( )
Hier is een voorbeeld om Unieke beperking toe te voegen aan bestaande kolom
mysql> alter table recent_orders add constraint unique_amount UNIQUE (amount); mysql> describe recent_orders; +----------+---------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +----------+---------+------+-----+---------+-------+ | order_id | int(11) | YES | UNI | NULL | | | amount | int(11) | YES | UNI | NULL | | +----------+---------+------+-----+---------+-------+
In de bovenstaande zoekopdracht hebben we een unieke beperking toegevoegd aan de bedragkolom.
Bonus Lezen:Tabel dupliceren in MySQL
MySQL Unieke beperking toevoegen Meerdere kolommen
Hier is de SQL-instructie om een UNIEKE beperking voor meerdere kolommen te maken.
mysql> create table old_orders ( order_id int, amount int, CONSTRAINT u_orders UNIQUE (order_id,amount) ); mysql> describe old_orders; +----------+---------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +----------+---------+------+-----+---------+-------+ | order_id | int(11) | YES | MUL | NULL | | | amount | int(11) | YES | | NULL | | +----------+---------+------+-----+---------+-------+ mysql> insert into old_orders(order_id, amount) values(1, 100),(1,100); ERROR 1062 (23000): Duplicate entry '1-100' for key 'u_orders'
Bonus lezen:MySQL opgeslagen procedure met parameters
U kunt UNIQUE CONSTRAINT ook aan meerdere kolommen toevoegen met de instructie ALTER TABLE.
alter table old_orders add constraint unique_orders UNIQUE (order_id,amount);
Ubiq maakt het gemakkelijk om gegevens binnen enkele minuten te visualiseren en in realtime dashboards te controleren. Probeer het vandaag nog!