ฉันจะวาง "ข้อ จำกัด คีย์ที่ไม่ซ้ำ" ในคอลัมน์ของตาราง 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 ในลักษณะเดียวกันให้ไปที่โครงสร้างและเลื่อนลงไปจนถึงแท็บดัชนีแล้วค้นหาด้านล่างแล้วคลิกดร็อป
หวังว่างานนี้
สนุก ;)
สำหรับ WAMP 3.0: คลิกโครงสร้างด้านล่างเพิ่ม 1 คอลัมน์คุณจะเห็น '- ดัชนี' คลิก -Indexes และวางดัชนีใด ๆ ที่คุณต้องการ
หากคุณต้องการลบข้อ จำกัด ที่ไม่ซ้ำกันออกจากตารางฐานข้อมูล mysql ให้ใช้ตารางแก้ไขด้วยดัชนีแบบเลื่อน
ตัวอย่าง:
สร้างตาราง unique_constraints (unid int, activity_name varchar (100), CONSTRAINT activty_uqniue UNIQUE UNIQUE (activity_name), คีย์หลัก (unid))
alter table unique_constraints drop index activty_uqniue;
โดยที่activty_uqniueเป็นข้อ จำกัด UNIQUE สำหรับคอลัมน์activity_name
ขณะที่วางคีย์เฉพาะเราใช้ดัชนี
ALTER TABLE tbl
DROP INDEX unique_address;
ข้อ จำกัด สามารถลบได้ด้วยไวยากรณ์:
ในฐานะของ 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
ขั้นตอนที่ 1: ดำเนินการผู้ซื้อ 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`);