2012-02-07 34 views
31

Tôi cần xóa khóa duy nhất khỏi bảng mysql của mình. Làm thế nào có thể loại bỏ điều đó bằng cách sử dụng truy vấn mysql.Cách xóa khóa duy nhất khỏi bảng mysql

tôi đã cố gắng này, nhưng nó không làm việc

alter table tbl_quiz_attempt_master drop unique key; 

Xin hãy giúp tôi

Cảm ơn

+2

trùng lặp để http://stackoverflow.com/questions/1564924/how-to-drop-unique-in-mysql – user3404455

+1

trùng lặp có thể xảy ra của [Làm thế nào để thả độc đáo trong MySQL?] (https://stackoverflow.com/questions/1564924/how-to-drop-unique-in-mysql) –

Trả lời

60

Tất cả các phím được đặt tên, bạn nên sử dụng một cái gì đó như thế này -

ALTER TABLE tbl_quiz_attempt_master 
    DROP INDEX index_name; 

Để thả sử dụng khóa chính này một -

ALTER TABLE tbl_quiz_attempt_master 
    DROP INDEX `PRIMARY`; 

ALTER TABLE Syntax.

9
ALTER TABLE mytable DROP INDEX key_Name; 
5

Đối với những người không biết làm thế nào để có được index_name mà đề cập trong Devart câu trả lời của, hoặc key_name mà đề cập trong Uday Sawant câu trả lời của bạn có thể có được nó như thế này:

SHOW INDEX FROM table_name; 

Điều này sẽ hiển thị tất cả các chỉ mục cho bảng đã cho, sau đó bạn có thể chọn tên chỉ mục hoặc khóa duy nhất mà bạn muốn xóa.

24

Trước tiên, bạn cần biết tên chính xác của INDEX (Phím duy nhất trong trường hợp này) để xóa hoặc cập nhật nó.
Tên INDEX thường giống với tên cột. Trong trường hợp có nhiều hơn một INDEX được áp dụng trên một cột, MySQL sẽ tự động hậu tố đánh số các tên cột để tạo các tên INDEX duy nhất.

Ví dụ, nếu 2 chỉ số được áp dụng trên một cột tên là customer_id

  1. Chỉ số đầu tiên sẽ được đặt tên như customer_id riêng của mình.
  2. Chỉ mục thứ hai sẽ có tên là customer_id_2 và cứ tiếp tục như vậy.

Để biết tên của chỉ số bạn muốn xóa hoặc cập nhật

SHOW INDEX FROM <table_name> 

theo đề nghị của @Amr

Để xóa một chỉ số

ALTER TABLE <table_name> DROP INDEX <index_name>; 
-1

Để thêm độc đáo sử dụng chính:

alter table your_table add UNIQUE(target_column_name); 

Để loại bỏ việc sử dụng khóa duy nhất: bài

alter table your_table drop INDEX target_column_name; 
Các vấn đề liên quan