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)
上記のサンプル出力を見てください。一意性の制約はありません。
-
MySQLテーブルからインデックスを削除します
MySQLテーブルからインデックスを削除するための構文は、次のとおりです- alter table yourTableName drop index `yourIndexName`; まずテーブルを作成しましょう- Mysql> create table DemoTable1469 -> ( -> StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY, -> StudentName varchar(40), ->
-
MySQLのデータベースからテーブル名を取得するにはどうすればよいですか?
MySQLのデータベースからテーブル名を取得するための構文は、次のとおりです- show tables from yourDatabaseName; MySQLのデータベースからテーブル名を取得するために上記のクエリを実装しましょう- mysql> show tables from hb_student_tracker; これにより、次の出力が生成されます- +------------------------------+ | Tables_in_hb_student_tracker | +------------------------------+ | demotable192