phpMyAdmin을 사용하여 MySQL 테이블의 열에 "고유 키 제약 조건"을 삭제하려면 어떻게해야합니까?
phpMyAdmin을 사용하여 MySQL 테이블의 열에 "고유 키 제약 조건"을 삭제하려면 어떻게해야합니까?
답변:
고유 제한 조건도 색인입니다.
먼저 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
.
아래 표와 같이 요청 된 대로 phpMyAdmin을 사용하여DROP
테이블에서 고유 제한 조건을 지정할 수 있습니다 . Wingspan 필드에 고유 제한 조건이 설정되었습니다. 이 경우 제약 조건의 이름은 필드 이름과 동일합니다.
phpmyadmin을 사용하여 UNIQUE 제약 조건을 추가하려면 해당 테이블의 구조로 이동하여 아래를 찾아 클릭하십시오.
동일한 방식으로 UNIQUE 제약 조건을 제거하려면 구조로 이동하여 인덱스 탭까지 아래로 스크롤하여 아래를 찾아 드롭을 클릭하십시오.
이것이 효과가 있기를 바랍니다.
즐겨 ;)
mysql 데이터베이스 테이블에서 고유 제한 조건을 제거하려면 인덱스 삭제와 함께 alter table을 사용하십시오.
예:
테이블 unique_constraints (unid int, activity_name varchar (100), CONSTRAINT activty_uqniue UNIQUE (activity_name), 기본 키 (unid)) 생성;
alter table unique_constraints drop index activty_uqniue;
여기서 activty_uqniue 는 activity_name 열에 대한 UNIQUE 제약 조건입니다 .
제약 조건은 다음 구문으로 제거 할 수 있습니다.
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 단계 : 색인 주소 복사
step3 : 테이블 구매자 변경 제한 변경 [UQ__buyers__1299A860D9793F2E] 테이블 구매자 변경 열 emp_id 변경
노트:
인용구
구매자 대신 테이블 이름으로 변경하십시오. :)
인용구
제약 조건이있는 모든 열 이름 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`);