Уникалното ограничение ви позволява да наложите уникалност на записите в таблицата на вашата база данни и да поддържате целостта на базата данни. Ето как да премахнете уникалното ограничение от MySQL таблицата с помощта на командата MySQL DROP INDEX. Използва се и за премахване на уникален ключ в MySQL.
Какво е уникално ограничение в MySQL?
Уникалното ограничение за таблица е комбинация от едно или повече полета, които уникално дефинират всеки запис в таблицата. Тези полета могат да съдържат нулеви стойности, стига комбинацията от стойности на полетата да е уникална.
Бонус за четене:ИЗХВЪРТЕ ВЪНШНОТО ОГРАНИЧЕНИЕ НА KY
Как да премахнете уникалното ограничение в MySQL
Ето стъпките за премахване на уникално ограничение в MySQL. Ще използваме MySQL DROP INDEX заявка, за да премахнем съществуващ индекс от таблица.
Ето синтаксиса на MySQL DROP INDEX команда
DROP INDEX constraint_name ON table_name
[algorithm_option | lock_option];
В горната заявка име_на_ограничение е името на ограничението и име_на_таблица е името на вашата таблица на базата данни.
Моля, обърнете внимание , независимо дали искате DROP INDEX или DROP UNIQUE CONSTRAINT, трябва да използвате заявка DROP INDEX.
Бонус четене:MySQL DROP DATABASE
Можете също да предоставите 2 незадължителни аргумента – algorithm_option и lock_option.
алгоритъм_опция може да има една от 3 стойности – по подразбиране, на мястото, копиране. В зависимост от вашия аргумент MySQL ще използва различни алгоритми, за да премахне уникалното ограничение.
Синтаксисът му е
ALGORITHM [=] {DEFAULT|INPLACE|COPY}
- по подразбиране – това има същия ефект като неизползването на algorithm_option аргумент
- копиране – Таблицата, в която трябва да изтриете ограничението, ще бъде копирана и индексът ще бъде изтрит от таблицата за копиране. През това време не са разрешени едновременни операции като INSERT и UPDATE.
- inplace – В този случай таблицата се възстановява на място без ограничения. Въпреки че тази опция позволява едновременни операции, тя поставя заключване на метаданни по време на изпълнение.
В зависимост от lock_option MySQL ще заключи/не заключи достъпа за четене/запис до вашите таблици, докато ограничението се изтрива. lock_option има следния синтаксис
LOCK [=] {DEFAULT|NONE|SHARED|EXCLUSIVE}
Приема 4 стойности:
- по подразбиране – позволява максимално едновременно изпълнение на вашия избор на алгоритъм. той позволява едновременно четене и запис, ако се поддържа. Ако не, позволява само едновременно четене. Ако и това не се поддържа, то налага изключителен достъп.
- няма – ако се поддържа, тогава можете да имате едновременно четене и запис. В противен случай MySQL дава грешка.
- споделено – ако се поддържа споделена опция, можете да имате едновременно четене, но не и едновременно записване.
- изключителен – тази опция налага изключителен достъп
Бонус четене:MySQL DROP COLUMN
Пример за УНИКАЛНО ОГРАНИЧЕНИЕ ОТПУСКАНЕ на MySQL
Да приемем, че имате следната таблица с уникално ограничение.
mysql> create table orders(order_id int primary key, order_date date, product varchar(255), sale int, constraint name unique (product) );
Ето SQL заявката за премахване на уникално ограничение име от таблица поръчки .
mysql> DROP INDEX name ON orders;
Бонус четене:MySQL DROP TABLE
Индекс на MySQL DROP PRIMARY KEY
Тъй като първичният ключ също е пример за уникално ограничение върху таблицата, ето синтаксиса за премахване на ограничението на първичния ключ върху поръчките на таблица.
mysql> DROP INDEX `PRIMARY` ON orders;
В този случай ние наричаме полето на първичния ключ като „PRIMARY“, вместо да използваме име на полето.
Ubiq улеснява визуализирането на данни за минути и наблюдение в табла за управление в реално време. Опитайте днес!