Јединствени кључ у МиСКЛ-у је једно поље или комбинација поља која осигуравају да ће све вредности које ће бити сачуване у колони бити јединствене. То значи да колона не може да складишти дупле вредности . На пример, адресе е-поште и бројеви студената у табели 'студент_инфо' или контакт број запослених у табели 'Емплоиее' треба да буду јединствени.
потхинени рам
МиСКЛ нам омогућава да користимо више од једне колоне са ограничењем УНИКУЕ у табели. Може прихватити а нула вредност, али МиСКЛ је дозволио само једну нул вредност по колони. То осигурава да интегритет колоне или групе колона за складиштење различитих вредности у табелу.
Потребе за јединственим кључем
- Корисно је у спречавању да два записа чувају идентичне вредности у колони.
- Чува само различите вредности које одржавају интегритет и поузданост базе података за организовани приступ информацијама.
- Такође ради са страним кључем у очувању јединствености табеле.
- Може да садржи нулту вредност у табели.
Синтакса
Следећа синтакса се користи за креирање јединственог кључа МиСКЛ .
Ако желимо да креирамо само једну јединствену кључну колону у табели, користите синтаксу као у наставку:
CREATE TABLE table_name( col1 datatype, col2 datatype UNIQUE, ... );
Ако желимо да креирамо више од једне јединствене кључне колоне у табели, користите синтаксу као у наставку:
CREATE TABLE table_name( col1 col_definition, col2 col_definition, ... [CONSTRAINT constraint_name] UNIQUE(column_name(s)) );
Ако нисмо навели име за јединствено ограничење, МиСКЛ аутоматски генерише име за ову колону. Дакле, препоручљиво је користити име ограничења приликом креирања табеле.
Објашњење параметара
Следећа табела детаљно објашњава параметре.
| Назив параметра | Описи |
|---|---|
| табле_наме | То је назив табеле коју ћемо креирати. |
| цол1, цол2 | То су називи колона који се налазе у табели. |
| цонстраинт_наме | То је назив јединственог кључа. |
| име(на) колоне | Име(на) колона ће бити јединствени кључ. |
Пример јединственог кључа
Следећи пример објашњава како се јединствени кључ користи у МиСКЛ-у.
Ова изјава креира табелу ' Студент2 ' са ЈЕДИНСТВЕНИМ ограничењем:
CREATE TABLE Student2 ( Stud_ID int NOT NULL UNIQUE, Name varchar(45), Email varchar(45), Age int, City varchar(25) );
Затим извршите доле наведене упите за уметање да бисте разумели како то функционише:
mysql> INSERT INTO Student2 (Stud_ID, Name, Email, Age, City) VALUES (1, 'Peter', '[email protected]', 22, 'Texas'), (2, 'Suzi', '[email protected]', 24, 'California'), (3, 'Joseph', '[email protected]', 23, 'Alaska'); mysql> INSERT INTO Student2 (Stud_ID, Name, Email, Age, City) VALUES (1, 'Stephen', '[email protected]', 22, 'Texas');
Излаз
У доњем излазу можемо видети да је први ИНСЕРТ куери извршава исправно, али друга изјава не успева и даје грешку која каже: Дупликат уноса '1' за кључ Студ_ИД.
Ако желите да дефинишете јединствени кључ на више колона , користите упит као у наставку:
CREATE TABLE Student3 ( Stud_ID int, Roll_No int, Name varchar(45) NOT NULL, Email varchar(45), Age int, City varchar(25), CONSTRAINT uc_rollno_email Unique(Roll_No, Email) );
У излазу можемо видети да јединствена вредност кључа садржи две колоне које су Ролл_Но и Емаил .
Да бисте ово потврдили, извршите следећу наредбу:
mysql> SHOW INDEX FROM Student3;
Овде можемо видети да је јединствено ограничење успешно додато у табелу:
ДРОП Јединствени кључ
Наредба АЛТЕР ТАБЛЕ нам такође омогућава да испустимо јединствени кључ из табеле. Следећа синтакса се користи за избацивање јединственог кључа:
ALTER TABLE table_name DROP INDEX constraint_name;
У горњој синтакси, тхе табле_наме је име табеле коју желимо да изменимо, и цонстраинт_наме је назив јединственог кључа који ћемо уклонити.
Пример
Ова изјава ће уклонити уц_роллно_емаил ограничење са стола трајно.
mysql> ALTER TABLE Student3 DROP INDEX uc_rollno_email;
Можемо извршити наредбу СХОВ ИНДЕКС на врло ово.
Јединствени кључ који користи наредбу АЛТЕР ТАБЛЕ
Ова изјава нам омогућава да извршимо модификацију у постојећој табели. Понекад желимо да додамо јединствени кључ у колону постојеће табеле; затим, ова изјава се користи за додавање јединственог кључа за ту колону.
Синтакса
Следи синтакса наредбе АЛТЕР ТАБЛЕ за додавање јединственог кључа:
ALTER TABLE table_name ADD CONSTRAINT constraint_name UNIQUE(column_list);
Пример
Ова изјава креира табелу ' Студенти3 ' који немају јединствену кључну колону у дефиницији табеле.
CREATE TABLE Student3 ( Stud_ID int, Roll_No int, Name varchar(45) NOT NULL, Email varchar(45), Age int, City varchar(25) );
Након креирања табеле, ако желимо да додамо јединствени кључ овој табели, потребно је да извршимо наредбу АЛТЕР ТАБЛЕ на следећи начин:
mysql> ALTER TABLE Student3 ADD CONSTRAINT uc_rollno_email UNIQUE(Roll_No, Email);
Можемо видети излаз где су обе изјаве успешно извршене.
Да бисте ово потврдили, извршите следећу наредбу:
mysql> SHOW INDEX FROM Student3;
Овде можемо видети да је јединствено ограничење успешно додато у табелу: