MySQLで複合的な一意性を強制できますか?
はい、できます。理解するために、最初にテーブルを作成しましょう-
mysql> create table enforceCompoundUniqueness -> ( -> StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY, -> StudentName varchar(40) NOT NULL, -> StudentMobileNumber varchar(12) NOT NULL, -> UNIQUE StudentName_StudentMobileNumber(StudentName,StudentMobileNumber) -> ); Query OK, 0 rows affected (0.60 sec)
以下は、挿入コマンド-
を使用してテーブルにレコードを挿入するためのクエリです。mysql> insert into enforceCompoundUniqueness(StudentName,StudentMobileNumber) values('Larry','2322245676'); Query OK, 1 row affected (0.18 sec) mysql> insert into enforceCompoundUniqueness(StudentName,StudentMobileNumber) values('Larry','2322245676'); ERROR 1062 (23000): Duplicate entry 'Larry-2322245676' for key 'StudentName_StudentMobileNumber' mysql> insert into enforceCompoundUniqueness(StudentName,StudentMobileNumber) values('Sam','6475746455'); Query OK, 1 row affected (0.13 sec)
上記のクエリでは、重複するレコードを挿入しようとすると、一意性が適用されているため、エラーが表示される可能性があります。
以下は、selectステートメント-
を使用してテーブルのすべてのレコードを表示するためのクエリです。mysql> select * from enforceCompoundUniqueness;
これにより、次の出力が生成されます-
+-----------+-------------+---------------------+ | StudentId | StudentName | StudentMobileNumber | +-----------+-------------+---------------------+ | 1 | Larry | 2322245676 | | 3 | Sam | 6475746455 | +-----------+-------------+---------------------+ 2 rows in set (0.00 sec)
-
MySQLでORDERBYNULLを使用できますか?
はい、できます 注 −MySQL5.7以前はORDERBYNULLが便利でしたが、MySQL 8.0では、たとえば、暗黙の並べ替えを抑制するために最後にORDERBYNULLを指定する必要がなくなりました。 まずテーブルを作成しましょう- mysql> create table DemoTable -> ( -> Name varchar(10) -> ); Query OK, 0 rows affected (1.01 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable v
-
MySQLの列の順序を変更できますか?
はい、列の順序を変更できます。これは、ALTERコマンドとAFTERを使用して実行し、個々の列の新しい順序を設定できます。まずテーブルを作成しましょう- mysql> create table DemoTable -> ( -> `Student_Key_Age` int, -> `Student_Key_Name` varchar(20), -> `Student_Key_CountryName` varchar(20) ->