Јединствени кључ у МиСКЛ-у је једно поље или комбинација поља која осигуравају да ће све вредности које ће бити сачуване у колони бити јединствене. То значи да колона не може да складишти дупле вредности . На пример, адресе е-поште и бројеви студената у табели 'студент_инфо' или контакт број запослених у табели 'Емплоиее' треба да буду јединствени.
потхинени рам
МиСКЛ нам омогућава да користимо више од једне колоне са ограничењем УНИКУЕ у табели. Може прихватити а нула вредност, али МиСКЛ је дозволио само једну нул вредност по колони. То осигурава да интегритет колоне или групе колона за складиштење различитих вредности у табелу.
Потребе за јединственим кључем
- Корисно је у спречавању да два записа чувају идентичне вредности у колони.
- Чува само различите вредности које одржавају интегритет и поузданост базе података за организовани приступ информацијама.
- Такође ради са страним кључем у очувању јединствености табеле.
- Може да садржи нулту вредност у табели.
Синтакса
Следећа синтакса се користи за креирање јединственог кључа МиСКЛ .
Ако желимо да креирамо само једну јединствену кључну колону у табели, користите синтаксу као у наставку:
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;
Овде можемо видети да је јединствено ограничење успешно додато у табелу: