Как я могу удалить «Ограничение уникального ключа» на столбце таблицы MySQL, используя phpMyAdmin?
Как я могу удалить «Ограничение уникального ключа» на столбце таблицы MySQL, используя phpMyAdmin?
Ответы:
Уникальным ограничением является также индекс.
Сначала используйте, SHOW INDEX FROM tbl_name
чтобы узнать имя индекса. Имя индекса хранится в столбце, который вызывается key_name
в результатах этого запроса.
Тогда вы можете использовать DROP INDEX :
DROP INDEX index_name ON tbl_name
или синтаксис ALTER TABLE :
ALTER TABLE tbl_name DROP INDEX index_name
SHOW CREATE TABLE tbl_name
.
Вы можете DROP
создать уникальное ограничение из таблицы, используя phpMyAdmin, как показано в таблице ниже. Уникальное ограничение было наложено на поле Wingspan. В этом случае имя ограничения совпадает с именем поля.
Индексы , способные размещения уникального ключа ограничения на таблице, PRIMARY
и UNIQUE
индексы.
Чтобы удалить ограничение уникального ключа для столбца, но сохранить индекс, вы можете удалить и заново создать индекс с типом INDEX
.
Обратите внимание, что для всех таблиц рекомендуется помечать индекс PRIMARY
.
UNIQUE
индекс регулярным INDEX
.
Чтобы добавить ограничение UNIQUE с помощью phpmyadmin, перейдите к структуре этой таблицы, найдите ниже и щелкните по ней,
Чтобы удалить ограничение UNIQUE, аналогичным образом, перейдите к структуре и прокрутите вниз до вкладки индексов, найдите ниже и нажмите drop,
Надеюсь, это работает.
Наслаждаться ;)
Для WAMP 3.0: щелкните «Структура под добавлением 1 столбца», и вы увидите «- Индексы». Нажмите «Индексы» и удалите тот индекс, который вам нужен.
Если вы хотите удалить уникальные ограничения из таблицы базы данных mysql, используйте alter table с drop index.
Пример:
создать таблицу unique_constraints (unid int, имя_операции varchar (100), CONSTRAINT activty_uqniue UNIQUE (имя_ действия), первичный ключ (unid));
alter table unique_constraints drop index activty_uqniue;
Где activty_uqniue это ограничение уникальности для ACTIVITY_NAME столбца.
Ограничение может быть снято с помощью синтаксиса:
Начиная с MySQL 8.0.19, ALTER TABLE допускает более общий (и стандартный SQL) синтаксис для удаления и изменения существующих ограничений любого типа, где тип ограничения определяется из имени ограничения:
ALTER TABLE tbl_name DROP CONSTRAINT symbol;
Пример:
CREATE TABLE tab(id INT, CONSTRAINT unq_tab_id UNIQUE(id));
-- checking constraint name if autogenerated
SELECT * FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS WHERE TABLE_NAME = 'tab';
-- dropping constraint
ALTER TABLE tab DROP CONSTRAINT unq_tab_id;
мое имя таблицы - покупатели, у которых есть уникальный столбец ограничений emp_id, теперь я собираюсь отбросить emp_id
Шаг 1: exec sp_helpindex покупателей, смотрите файл изображения
шаг 2: скопировать адрес индекса
шаг 3: изменить ограничение удаления покупателей таблицы [UQ__buyers__1299A860D9793F2E] изменить столбец удаления покупателей таблицы emp_id
нота:
Blockquote
вместо покупателей поменяйте его на название вашей таблицы :)
Blockquote
вот и все имя столбца emp_id с ограничениями отбрасывается!
Сначала удалите таблицу
перейти на SQL
Используйте этот код:
CREATE TABLE service( --tablename
`serviceid` int(11) NOT NULL,--columns
`customerid` varchar(20) DEFAULT NULL,--columns
`dos` varchar(30) NOT NULL,--columns
`productname` varchar(150) NOT NULL,--columns
`modelnumber` bigint(12) NOT NULL,--columns
`serialnumber` bigint(20) NOT NULL,--columns
`serviceby` varchar(20) DEFAULT NULL--columns
)
--INSERT VALUES
INSERT INTO `service` (`serviceid`, `customerid`, `dos`, `productname`, `modelnumber`, `serialnumber`, `serviceby`) VALUES
(1, '1', '12/10/2018', 'mouse', 1234555, 234234324, '9999'),
(2, '09', '12/10/2018', 'vhbgj', 79746385, 18923984, '9999'),
(3, '23', '12/10/2018', 'mouse', 123455534, 11111123, '9999'),
(4, '23', '12/10/2018', 'mouse', 12345, 84848, '9999'),
(5, '546456', '12/10/2018', 'ughg', 772882, 457283, '9999'),
(6, '23', '12/10/2018', 'keyboard', 7878787878, 22222, '1'),
(7, '23', '12/10/2018', 'java', 11, 98908, '9999'),
(8, '128', '12/10/2018', 'mouse', 9912280626, 111111, '9999'),
(9, '23', '15/10/2018', 'hg', 29829354, 4564564646, '9999'),
(10, '12', '15/10/2018', '2', 5256, 888888, '9999');
--before droping table
ALTER TABLE `service`
ADD PRIMARY KEY (`serviceid`),
ADD unique`modelnumber` (`modelnumber`),
ADD unique`serialnumber` (`serialnumber`),
ADD unique`modelnumber_2` (`modelnumber`);
--after droping table
ALTER TABLE `service`
ADD PRIMARY KEY (`serviceid`),
ADD modelnumber` (`modelnumber`),
ADD serialnumber` (`serialnumber`),
ADD modelnumber_2` (`modelnumber`);