Mysqlテーブルから一意のキーを削除する必要があります。 mysqlクエリを使用してそれを削除する方法。
これを試しましたが、機能していません
alter table tbl_quiz_attempt_master drop unique key;
私を助けてください
ありがとう
すべてのキーには名前が付けられています。次のようなものを使用する必要があります-
ALTER TABLE tbl_quiz_attempt_master
DROP INDEX index_name;
主キーを削除するには、これを使用します-
ALTER TABLE tbl_quiz_attempt_master
DROP INDEX `PRIMARY`;
まず削除または更新するには、INDEXの正確な名前(この場合は一意のキー)を知る必要があります。
INDEX名は通常、列名と同じです。 1つのカラムに複数のINDEXが適用されている場合、MySQLは自動的にカラム名に番号を付けて一意のINDEX名を作成します。
たとえば、customer_id
という名前の列に2つのインデックスが適用される場合
customer_id
自体の名前が付けられます。customer_id_2
などの名前になります。SHOW INDEX FROM <table_name>
@ Amr が示唆するとおり
ALTER TABLE <table_name> DROP INDEX <index_name>;
ALTER TABLE mytable DROP INDEX key_Name;
Devart の回答で言及したindex_name
または day Sawant で言及したkey_name
を取得する方法がわからない場合答え、次のように取得できます。
SHOW INDEX FROM table_name;
これにより、指定したテーブルのすべてのインデックスが表示されます。その後、削除するインデックスの名前または一意のキーを選択できます。
一意のキーは実際にはインデックスです。 http://codeghar.wordpress.com/2008/03/28/drop-unique-constraint-in-mysql/
Mysqlにはインデックスを削除する2つの方法があります。最初の方法はGUIです。この方法では、MYSQLのGUIインターフェイスを開いてから、そのデータベースに移動してから、インデックスを削除する特定のテーブルに移動する必要があります。
構造オプションをクリックすると、テーブル構造が表示され、下にテーブルインデックスが表示されます。ドロップオプションをクリックしてインデックスを削除できます
による2番目の方法
ALTER TABLE student_login_credentials DROP INDEX created_at;
ここでstudent_login_credentialsはテーブル名で、created_atは列名です