MySQL INSERT IGNOREステートメントを無視し、重複する値がテーブルに挿入された場合はエラーを表示します
まずテーブルを作成しましょう-
mysql> create table DemoTable ( FirstName varchar(100) ); Query OK, 0 rows affected (0.58 sec)
MySQLの公式ドキュメントに記載されているように、「 IGNOREがないと、テーブル内の既存のUNIQUEインデックスまたはPRIMARY KEY値を複製する行は、重複キーエラーを引き起こし、ステートメントは中止されます 」。
したがって、一意のインデックスを追加しましょう-
mysql> alter table DemoTable add unique index(FirstName); Query OK, 0 rows affected (0.50 sec) Records: 0 Duplicates: 0 Warnings: 0
挿入コマンドを使用して、テーブルにいくつかのレコードを挿入します。ご覧のとおり、INSERT IGNOREを使用していないため、重複レコードの挿入中にエラーが表示されます-
mysql> insert into DemoTable values('Chris'); Query OK, 1 row affected (0.32 sec) mysql> insert into DemoTable values('Robert'); Query OK, 1 row affected (0.09 sec) mysql> insert into DemoTable values('David'); Query OK, 1 row affected (0.15 sec) mysql> insert into DemoTable values('Robert'); ERROR 1062 (23000): Duplicate entry 'Robert' for key 'FirstName' mysql> insert into DemoTable values('Chris'); ERROR 1062 (23000): Duplicate entry 'Chris' for key 'FirstName' mysql> insert into DemoTable values('Sam'); Query OK, 1 row affected (0.12 sec)>
selectステートメントを使用してテーブルのすべてのレコードを表示する-
mysql> select *from DemoTable;
これにより、次の出力が生成されます-
+-----------+ | FirstName | +-----------+ | Chris | | David | | Robert | | Sam | +-----------+ 4 rows in set (0.00 sec)
-
MySQLテーブルで先行ゼロの値を選択して挿入します
このために、LPAD()とともにINSERTINTOSELECTステートメントを使用できます。まずテーブルを作成しましょう- mysql> create table DemoTable1967 ( Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, UserId varchar(20) ); Query OK, 0 rows affected (0.00 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql>
-
Javaを使用してMySQLテーブルの値を表示する
このために、ResultSetの概念を使用できます。接続には、MySQLJDBCDriverを使用します。 テーブルを作成しましょう- 例 mysql> create table demo87 -> ( -> name varchar(20), -> age int -> ) -> ; Query OK, 0 rows affected (0.62 挿入コマンド-を使用して、いくつかのレコードをテーブルに挿入します。 例 my