如何使用phpMyAdmin在MySQL表的列上删除“唯一键约束”?
答案 0 :(得分:295)
唯一约束也是一个索引。
首先使用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
答案 1 :(得分:109)
您可以{strong}使用phpMyAdmin 从表中获取唯一约束,如下表所示。 Wingspan领域有一个独特的约束。在此实例中,约束的名称与字段名称相同。
答案 2 :(得分:11)
能够在表上放置唯一键约束的索引是PRIMARY
和UNIQUE
索引。
要删除列上的唯一键约束但保留索引,可以删除并重新创建类型为INDEX
的索引。
请注意,所有表都有一个标记为PRIMARY
的索引。
答案 3 :(得分:1)
对于WAMP 3.0: 单击结构 在添加1列下方,您会看到' - 索引' 单击 - 索引并删除所需的索引。
答案 4 :(得分:1)
如果要从mysql数据库表中删除唯一约束,请使用带丢弃索引的alter table。
示例:强>
create table unique_constraints(unid int,activity_name varchar(100),CONSTRAINT activty_uqniue UNIQUE(activity_name),primary key(unid));
alter table unique_constraints drop index activty_uqniue;
activty_uqniue 是 activity_name 列的UNIQUE约束。
答案 5 :(得分:1)
要使用phpmyadmin添加UNIQUE约束,请转到该表的结构并在下面找到并单击,
要以相同方式删除UNIQUE约束,请转到结构并向下滚动直到Indexes Tab,然后在下面找到并单击drop,
希望这行得通。
享受;)
答案 6 :(得分:0)
在删除唯一键时我们使用索引
ALTER TABLE tbl
DROP INDEX unique_address;
答案 7 :(得分:0)
可以使用以下语法删除约束:
从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;
答案 8 :(得分:0)
这可能会有所帮助:
在你的 sql 终端内
第一步:
<块引用>SHOW INDEX FROM {YOUR_TABLE_NAME}
第二步:
<块引用>SHOW INDEX FROM {YOUR_TABLE_NAME} WHERE Column_name='ACTUAL_COLUMN_NAME_YOU_GOT_FROM_FIRST_STEP_OUTPUT'
第三步:
<块引用>ORIGINAL_KEY_NAME_VALUE = SECOND_STEP_RESPONSE["Key_name"]
第四步:
<块引用>ALTER TABLE {YOUR_TABLE_NAME} DROP INDEX ${ORIGINAL_KEY_NAME_VALUE}
答案 9 :(得分:-2)
1。首先删除表格
2.go to sql
CREATE TABLE service( --tablename
`serviceid` int(11) NOT NULL,--coloums
`customerid` varchar(20) DEFAULT NULL,--coloums
`dos` varchar(30) NOT NULL,--coloums
`productname` varchar(150) NOT NULL,--coloums
`modelnumber` bigint(12) NOT NULL,--coloums
`serialnumber` bigint(20) NOT NULL,--coloums
`serviceby` varchar(20) DEFAULT NULL--coloums
)
--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`);
答案 10 :(得分:-2)
我的表名是Buyer,它具有唯一的约束列emp_id,现在我要删除emp_id
步骤1:exec sp_helpindex买家,请参见图片文件
步骤2:复制索引地址
第3步:更改表购买者放置限制[UQ__buyers__1299A860D9793F2E] 更改表买家 删除列emp_id
注意:
Blockquote
代替买家将其更改为您的表格名称:)
Blockquote
那所有带有约束的列名emp_id都将被删除!