MySQLで複合一意性を適用するにはどうすればよいですか?
UNIQUEキーワードを使用して、MySQLで複合一意性を適用できます。テーブル列にUNIQUEキーワードを追加するための構文は次のとおりです。
構文は次のとおりです
CREATE TABLE yourTableName ( yourColumnName1 datatype, yourColumnName2 datatype, yourColumnName3 datatype, . . N UNIQUE yourConstarintName(yourColumnName2,yourColumnName3) );
上記の概念を理解するために、いくつかの列を持つテーブルを作成し、テーブルに一意の制約を追加しましょう。テーブルを作成するためのクエリは次のとおりです
mysql> create table UniqueDemo -> ( -> StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY, -> StudentName varchar(100), -> StudentAge int, -> StudentMarks int -> , -> UNIQUE age_NameConstraint(StudentName,StudentAge) -> ); Query OK, 0 rows affected (0.76 sec)
SHOWコマンドを使用して、テーブルから制約名を表示できます。
構文は次のとおりです
SHOW INDEX FROM yourTableName;
テーブルから一意の制約を表示するには、上記の構文を使用します。クエリは次のとおりです-
mysql> SHOW INDEX FROM UniqueDemo;
以下は出力です
+------------+------------+--------------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+ | Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment | Visible | +------------+------------+--------------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+ | uniquedemo | 0 | PRIMARY | 1 | StudentId | A | 0 | NULL | NULL | | BTREE | | | YES | | uniquedemo | 0 | age_NameConstraint | 1 | StudentName | A | 0 | NULL | NULL | YES | BTREE | | | YES | | uniquedemo | 0 | age_NameConstraint | 2 | StudentAge | A | 0 | NULL | NULL | YES | BTREE | | | YES | +------------+------------+--------------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+ 3 rows in set (0.33 sec)
-
MySQLで複合的な一意性を強制できますか?
はい、できます。理解するために、最初にテーブルを作成しましょう- mysql> create table enforceCompoundUniqueness -> ( -> StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY, -> StudentName varchar(40) NOT NULL, -> StudentMobileNumber varchar(12) NOT NULL,
-
MySQLのテーブルのすべての列を削除するにはどうすればよいですか?
MySQLのテーブルのすべての列を削除するには、DROPTABLEコマンドを使用できます。構文は次のとおりです。 DROP TABLE yourTableName; 最初にテーブルを作成しましょう: mysql> create table DemoTable ( StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY, StudentFirstName varchar(20), StudentLastName varchar(20), St