Làm cách nào tôi có thể thả "Ràng buộc khóa duy nhất" trên một cột của bảng MySQL bằng phpMyAdmin?
Làm cách nào tôi có thể thả "Ràng buộc khóa duy nhất" trên một cột của bảng MySQL bằng phpMyAdmin?
Câu trả lời:
Một ràng buộc duy nhất cũng là một chỉ số.
Đầu tiên sử dụng SHOW INDEX FROM tbl_name
để tìm ra tên của chỉ mục. Tên của chỉ mục được lưu trữ trong cột được gọi key_name
trong kết quả của truy vấn đó.
Sau đó, bạn có thể sử dụng DROP INDEX :
DROP INDEX index_name ON tbl_name
hoặc cú pháp ALTER TABLE :
ALTER TABLE tbl_name DROP INDEX index_name
SHOW CREATE TABLE tbl_name
.
Bạn có thể DROP
một ràng buộc duy nhất từ một bảng bằng cách sử dụng phpMyAdmin theo yêu cầu như được hiển thị trong bảng bên dưới. Một ràng buộc duy nhất đã được đặt trên trường Sải cánh. Tên của ràng buộc giống như tên trường, trong trường hợp này.
Các chỉ mục có khả năng đặt một ràng buộc khóa duy nhất trên một bảng là PRIMARY
và UNIQUE
các chỉ mục.
Để loại bỏ ràng buộc khóa duy nhất trên một cột nhưng vẫn giữ chỉ mục, bạn có thể xóa và tạo lại chỉ mục với loại INDEX
.
Lưu ý rằng tất cả các bảng đều có một chỉ mục được đánh dấu PRIMARY
.
UNIQUE
chỉ mục bằng một quy tắc thông thường INDEX
.
Để thêm ràng buộc UNIITE bằng phpmyadmin, hãy đi đến cấu trúc của bảng đó và tìm bên dưới và nhấp vào đó,
Để loại bỏ ràng buộc UNIITE, theo cách tương tự, đi đến cấu trúc và cuộn xuống cho đến Tab Indexes và tìm bên dưới và nhấp thả,
Hy vọng điều này làm việc.
Thưởng thức ;)
Đối với WAMP 3.0: Nhấp vào Cấu trúc bên dưới Thêm 1 cột bạn sẽ thấy '- Chỉ mục nhấp chuột - Chỉ mục và thả bất kỳ chỉ mục nào bạn muốn.
Nếu bạn muốn loại bỏ các ràng buộc duy nhất khỏi bảng cơ sở dữ liệu mysql, hãy sử dụng bảng thay đổi với chỉ mục thả.
Thí dụ:
tạo bảng unique_constraint (unid int, Activity_name varchar (100), CONSTRAINT activty_uqniue UNIQUE (Activity_name), khóa chính (unid));
alter table unique_constraints drop index activty_uqniue;
Trong đó activty_uqniue là ràng buộc ĐỘC ĐÁO cho cột Activity_name .
Các ràng buộc có thể được loại bỏ bằng cú pháp:
Kể từ MySQL 8.0.19, ALTER TABLE cho phép cú pháp chung hơn (và tiêu chuẩn SQL) để loại bỏ và thay đổi các ràng buộc hiện có của bất kỳ loại nào, trong đó loại ràng buộc được xác định từ tên ràng buộc:
ALTER TABLE tbl_name DROP CONSTRAINT symbol;
Thí dụ:
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;
Tên bảng của tôi là người mua có cột ràng buộc duy nhất emp_id bây giờ tôi sẽ bỏ emp_id
Bước 1: thực hiện người mua sp_helpindex, xem tệp hình ảnh
Bước 2: sao chép địa chỉ chỉ mục
bước 3: thay đổi ràng buộc thả người mua bảng [UQ__buyers__1299A860D9793F2E] thay đổi người mua bảng thả cột emp_id
Ghi chú:
Blockquote
thay vì người mua thay đổi nó thành tên bảng của bạn :)
Blockquote
đó là tất cả tên cột emp_id với các ràng buộc bị loại bỏ!
Bảng xóa đầu tiên
đi đến SQL
Sử dụng mã này:
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`);