MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

同じMySQLクエリで挿入または更新を行うことは可能ですか?


はい、重複キー更新時に使用します。まずテーブルを作成しましょう-

mysql> create table DemoTable(Id int NOT NULL PRIMARY KEY, Number int);
Query OK, 0 rows affected (0.83 sec)

挿入コマンド-

を使用して、テーブルにいくつかのレコードを挿入します
mysql> insert into DemoTable values(1,190) ON DUPLICATE KEY UPDATE Number=Number+10;
Query OK, 1 row affected (0.19 sec)
mysql> insert into DemoTable values(2,130) ON DUPLICATE KEY UPDATE Number=Number+10;
Query OK, 1 row affected (0.19 sec)
mysql> insert into DemoTable values(1,190) ON DUPLICATE KEY UPDATE Number=Number+10;
Query OK, 2 rows affected (0.14 sec)
mysql> insert into DemoTable values(2,130) ON DUPLICATE KEY UPDATE Number=Number+10;
Query OK, 2 rows affected (0.17 sec)

selectステートメントを使用してテーブルのすべてのレコードを表示する-

mysql> select *from DemoTable;

これにより、次の出力が生成されます。同じクエリにレコードを挿入して更新しました-

+----+--------+
| Id | Number |
+----+--------+
| 1  | 200    |
| 2  | 140    |
+----+--------+
2 rows in set (0.00 sec)

  1. MySQLの結果セットを指定されたものと同じにする方法は?

    これには、MySQL FIND_IN_SET()を使用します。まずテーブルを作成しましょう- mysql> create table DemoTable1563    -> (    -> StudentId int,    -> StudentName varchar(20)    -> ); Query OK, 0 rows affected (0.52 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into De

  2. MySQLでSelectクエリを使用して挿入

    SELECTクエリを使用した挿入の場合、構文は次のとおりです- insert into yourTableName(yourColumnName1,yourColumnName2,yourColumnName3,...N) select yourValue1,yourValue2,yourValue3,......N;を選択します。 まずテーブルを作成しましょう- mysql> create table DemoTable1603    -> (    -> StudentId int,    -> Stud