MySQLで重複レコードを置き換えるのに効率的な手法はどれですか?
重複するレコードを置き換え、挿入中のエラーを回避するには、INSERT ON DUPLICATEKEYUPDATEを使用します。まずテーブルを作成しましょう-
mysql> create table DemoTable -> ( -> Id int, -> Name varchar(20), -> UNIQUE(Id,Name) -> ); Query OK, 0 rows affected (0.78 sec)
挿入コマンド-
を使用して、テーブルにいくつかのレコードを挿入しますmysql> insert into DemoTable values(101,'Chris') on duplicate key update Id=10001,Name='Robert'; Query OK, 1 row affected (0.23 sec) mysql> insert into DemoTable values(102,'Mike') on duplicate key update Id=10001,Name='Robert'; Query OK, 1 row affected (0.17 sec) mysql> insert into DemoTable values(101,'Chris') on duplicate key update Id=10001,Name='Robert'; Query OK, 2 rows affected (0.10 sec)
selectステートメントを使用してテーブルのすべてのレコードを表示する-
mysql> select *from DemoTable;
+-------+--------+ | Id | Name | +-------+--------+ | 102 | Mike | | 10001 | Robert | +-------+--------+ 2 rows in set (0.00 sec)
-
MySQLの複数のテーブルからレコードを挿入します
複数のテーブルからレコードを挿入するには、INSERTINTOSELECTステートメントを使用します。ここでは、2つのテーブルからレコードを挿入します。 まずテーブルを作成しましょう- mysql> create table DemoTable1943 ( Name varchar(20) ); Query OK, 0 rows affected (0.00 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable1943
-
複数のレコードをすばやく挿入するMySQLクエリ
複数のレコードをすばやく挿入するには、単一のINSERTを使用して、次の構文に従います- insert into yourTableName values(yourValue1,yourValue2,...N),(yourValue1,yourValue2,...N).....N; 上記の構文を理解するために、テーブルを作成しましょう- mysql> create table DemoTable2007 ( Amount1 int, Amount2 int, Amount3 int ); Query OK,