MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

MySQLテーブルから一意性制約を削除するにはどうすればよいですか?


これにはDROPINDEXを使用できます。構文は次のとおりです-

alter table yourTablename drop index yourUniqueName;

上記の構文を理解するために、テーブルを作成しましょう。テーブルを作成するためのクエリは次のとおりです-

mysql> create table removeUniquenessConstraint
   -> (
   -> Id int,
   -> Name varchar(100),
   -> Age int,
   -> isGreaterThan18 bool,
   -> UNIQUE(Id,isGreaterThan18)
   -> );
Query OK, 0 rows affected (0.69 sec)

次に、SHOW CREATEコマンドを使用して、テーブルの詳細を確認します。クエリは次のとおりです-

mysql> show create table removeUniquenessConstraint;

これが出力です-

+----------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table                      | Create Table                                                     |
+----------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| removeUniquenessConstraint | CREATE TABLE `removeuniquenessconstraint` (`Id` int(11) DEFAULT NULL,`Name` varchar(100) DEFAULT NULL,`Age` int(11) DEFAULT NULL,`isGreaterThan18` tinyint(1) DEFAULT NULL,UNIQUE KEY `Id` (`Id`,`isGreaterThan18`)) ENGINE =InnoDB DEFAULT CHARSET =utf8             |
+----------------------------+---------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)

以下は、MySQLテーブルから一意性制約を削除するためのクエリです-

mysql> alter table removeUniquenessConstraint drop index `Id`;
Query OK, 0 rows affected (0.25 sec)
Records: 0 Duplicates: 0 Warnings: 0

表の詳細をもう一度確認してみましょう。クエリは次のとおりです-

mysql> show create table removeUniquenessConstraint;

これが出力です-

+----------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table | Create Table       |
+----------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| removeUniquenessConstraint | CREATE TABLE `removeuniquenessconstraint` (`Id` int(11) DEFAULT NULL,`Name` varchar(100) DEFAULT NULL,`Age` int(11) DEFAULT NULL,`isGreaterThan18` tinyint(1) DEFAULT  NULL) ENGINE =InnoDB DEFAULT CHARSET =utf8         |
+----------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)

上記のサンプル出力を見てください。一意性の制約はありません。


  1. MySQLテーブルからインデックスを削除します

    MySQLテーブルからインデックスを削除するための構文は、次のとおりです- alter table yourTableName drop index `yourIndexName`; まずテーブルを作成しましょう- Mysql> create table DemoTable1469    -> (    -> StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY,    -> StudentName varchar(40),    ->

  2. MySQLのデータベースからテーブル名を取得するにはどうすればよいですか?

    MySQLのデータベースからテーブル名を取得するための構文は、次のとおりです- show tables from yourDatabaseName; MySQLのデータベースからテーブル名を取得するために上記のクエリを実装しましょう- mysql> show tables from hb_student_tracker; これにより、次の出力が生成されます- +------------------------------+ | Tables_in_hb_student_tracker | +------------------------------+ | demotable192