MySQL MariaDB

Використання унікальних обмежень MySQL

Використання унікальних обмежень MySQL
MySQL CONSTRAINT відкидається, щоб описати правила, які дозволяють або обмежують значення в полях, які можуть містити або обмежувати дані, які можна ввести в рядки. Метою введення обмежень є підтримка довіри до бази даних. Одним з них є УНІКАЛЬНЕ обмеження.

УНІКАЛЬНЕ обмеження гарантує, що майже всі елементи поля різняться між собою. Для поля або групи полів УНІКАЛЬНІ та ПЕРВИННІ КЛЮЧОВІ обмеження взаємно забезпечують індивідуальність. Тим не менше, ми можемо мати кілька УНІКАЛЬНИХ обмежень у кожній таблиці, хоча замість цього для кожної таблиці застосовується одне обмеження ОСНОВНИХ КЛЮЧІВ. Давайте вивчимо це, спробувавши кілька прикладів.

Унікальне обмеження через Workbench:

Перш за все, ми повинні дізнатися про те, як додати унікальні обмеження до таблиці під час використання MySQL Workbench 8.0. Відкрийте щойно встановлений MySQL Workbench 8.0 та підключіть його до бази даних.

У області запиту вам потрібно написати команду нижче, щоб створити таблицю "Особа". Ця таблиця має 4 стовпці з одним первинним ключем. Ми повинні вказати один унікальний стовпець. Як бачите, ми очистили стовпець "Ідентифікатор" як стовпець "УНІКАЛЬНИЙ":

>> СТВОРИТИ ТАБЛИЦЮ Особа (ідентифікатор int ПЕРВИННИЙ КЛЮЧ НЕ НУЛЬ, Ім'я varchar (255) НЕ НУЛЬ, Ім'я varchar (255), Вік int, УНІКАЛЬНИЙ (ID));

Тепер створена таблиця “Особа” зі стовпчиком “УНІКАЛЬНИЙ” “ІДЕНТИФІКАТОР”. Таблицю можна знайти в розділі «Навігатор» та «Схеми», перелічивши її в опції «Таблиці».

Під час вставки записів, коли ви натискаєте кнопку «Застосувати», він перевірить вставлені записи, як показано нижче. Ви можете бачити, що у нас є один повторений запис у рядках 3 та 4, який має однаковий “ID”. Натисніть кнопку «Застосувати», щоб застосувати зміни.

На зображенні нижче генерує помилку, що стовпець "Ідентифікатор" продубльовано, тобто значення "13".

Після виправлення запису, коли ви застосуєте зміни, він працюватиме коректно.

Унікальне обмеження через оболонку командного рядка:

У оболонці командного рядка MySQL ми додамо UNIQUE ключі до одного або кількох стовпців. Спершу відкрийте свій командний рядок, щоб переглянути їх у наведених нижче прикладах. Введіть свій пароль, щоб скористатися командною оболонкою.

Приклад 01: В одній колонці

У цьому синтаксисі, як у специфікації стовпця, ми використовуємо УНІКАЛЬНИЙ термін, за яким ви хочете застосувати закон унікальності. Як тільки ми вставимо або змінимо значення, яке створює дублікати в конкретному стовпці, MySQL відмовить у зміні, а також надасть виняток. У цьому конкретному обмеженні буде обмеження для стовпців. І ви можете використати це для реалізації унікального правила одного поля. Ось синтаксис UNIQUE одноколонного ключа:

>> СТВОРИТИ ТАБЛИЦЮ ім'я таблиці (тип даних col UNIQUE, тип даних col);

Створимо таблицю «постачальник» у базі даних «дані» з трьома стовпцями. Стовпець “ID” визначається як “UNIQUE”.

>> СТВОРИТИ дані ТАБЛИЦІ.постачальник (ідентифікатор INT AUTO_INCREMENT NOT NULL UNIQUE, Назва VARCHAR (50) NOT NULL, Area VARCHAR (50));

Під час перевірки ви можете побачити, що в таблиці ще немає записів.

>> ВИБЕРІТЬ * ВІД даних.постачальник;

Вставимо записи в таблицю. Перший запис буде плавно вставлено в таблицю, як показано нижче.

Другий запис буде знову вставлений плавно, оскільки він не має повторюваних значень у стовпці “ID”. З іншого боку, він приймає те саме значення, що і в першому запиті в стовпці “Площа”.

Під час вставки третього запису ми надали повторюване значення “1”, як ми вказали у першому операторі вставки. Це призведе до помилки, що стовпець “ID” отримує повторюване значення, як показано на зображенні нижче.

Перевіряючи ще раз, ви бачите, що в таблиці є лише записи перших двох операторів вставки. Поки від третього оператора вставки немає записів.

>> ВИБЕРІТЬ * ВІД даних.постачальник;

Приклад 02: Про кілька стовпців

У цьому форматі після терміну UNIQUE ми застосовуємо набір стовпців, розділених комами, у дужках. Склад значень у полях col1 та col2 використовується MySQL для визначення унікальності.

>> СТВОРИТИ ІМЯ таблиці (тип даних col1, тип даних col2, УНІКАЛЬНИЙ (col1, col2));

Ми створюємо таблицю “міністр” у базі даних “дані” з п’ятьма стовпцями. Стовпець “Ідентифікатор” визначається як “УНІКАЛЬНИЙ” та “ПЕРВИННИЙ”. Ключове слово “CONSTRAINT” використовується для назви унікального обмеження ключа як “uc_add_sal”. Ключове слово “UNIQUE” використовується для визначення UNIQUE обмеження на стовпці, вказані в дужках, e.g., Адреса та “Зарплата”. Зараз ми маємо загалом три стовпці, які мають обмеження “UNIQUE”.

>> СТВОРИТИ дані ТАБЛИЦІ.міністр (середина INT AUTO_INCREMENT ПОЧАТКОВИЙ КЛЮЧ НЕ НУЛЬ УНІКАЛЬНИЙ, ім'я VARCHAR (50) НЕ НУЛЬ, Адреса VARCHAR (50), Робота VARCHAR (50), Зарплата VARCHAR (50), CONSTRAINT uc_add_sal UNIQUE (Адреса, зарплата));

Під час перевірки таблиці ви можете побачити, що таблиця порожня зараз.

>> ВИБЕРІТЬ * ВІД даних.міністр;

Давайте вставимо в нього кілька записів. Перший запис буде додано до таблиці успішно, оскільки це перший рядок, і немає рядка, з яким слід зіставити.

Введіть інший унікальний запис без будь-яких повторюваних значень у будь-який стовпець, як показано нижче.

Це не впливає на те, коли ми вводимо повторювані значення для стовпців, які не мають обмеження “UNIQUE”. Погляньте на запит нижче. Він має дублікат значення у стовпці “Ім’я” та “Робота”. Це працює належним чином, оскільки ці два стовпці не мають обмежень “UNIQUE”.

З іншого боку, коли ми вставляємо повторюване значення, напр.g., “13” та “Rawalpindi”, це призведе до помилки, як показано нижче. Це тому, що “13” та “Равалпінді” були вказані раніше.

Під час перевірки ми маємо лише три записи в таблиці, вставлені першими трьома запитами.

>> ВИБЕРІТЬ * ВІД даних.міністр;

Висновок:

Ми витончено зробили всі приклади визначення UNIQUE обмежень для одного та декількох стовпців під час використання MySQL Workbench 8.0 та оболонка клієнтського рядка командного рядка MySQL. Сподіваємось, під час вирішення проблем, пов’язаних з УНІКАЛЬНИМИ ключами, у вас не виникне проблем.

Mouse left-click button not working on Windows 10
If you are using a dedicated mouse with your laptop, or desktop computer but the mouse left-click button is not working on Windows 10/8/7 for some rea...
Cursor jumps or moves randomly while typing in Windows 10
If you find that your mouse cursor jumps or moves on its own, automatically, randomly while typing in Windows laptop or computer, then some of these s...
How to reverse Mouse and Touchpads scrolling direction in Windows 10
Mouse and Touchpads not only make computing easy but more efficient and less time-consuming. We cannot imagine a life without these devices, but still...