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

MySQLのクエリでONUPDATEイベントが発生したかどうかを検出するにはどうすればよいですか?


row_count()を使用して検出できます。 row_count()が1を返す場合、それは新しいレコードであることを意味します。 2が返された場合は、クエリでONUPDATEイベントが発生したことを意味します。以下は構文です-

select row_count();

まずテーブルを作成しましょう-

mysql> create table DemoTable1512
   -> (
   -> Value int ,
   -> UNIQUE(Value)
   -> );
Query OK, 0 rows affected (0.60 sec)

挿入コマンド-

を使用して、テーブルにいくつかのレコードを挿入します
mysql> insert into DemoTable1512 values(90) on duplicate key update Value=Value+10;
Query OK, 1 row affected (0.09 sec)

これで、上記のクエリを使用して、onupdateイベントが発生したことを確認できます-

mysql> select row_count();

これにより、次の出力が生成されます-

+-------------+
| row_count() |
+-------------+
|           1 |
+-------------+
1 row in set (0.00 sec)

いいえを意味する1を返します。

これで、挿入コマンド-

を使用して、同じレコードをテーブルに再度挿入できます。
mysql> insert into DemoTable1512 values(90) on duplicate key update Value=Value+10;
Query OK, 2 rows affected (0.12 sec)

これで、上記のクエリを使用して、onupdateイベントが発生したことを確認できます-

mysql> select row_count();

これにより、次の出力が生成されます-

+-------------+
| row_count() |
+-------------+
|           2 |
+-------------+
1 row in set (0.00 sec)

  1. MySQLでLIMITを使用してUPDATEクエリを使用することは可能ですか?

    はい、MySQLでLIMITを使用してUPDATEクエリを使用することは可能です。方法を見てみましょう。 この例では、最初にテーブルを作成します。 CREATEコマンドを使用してテーブルを作成します。 mysql>CREATE table tblUpdateLimit -> ( -> id int, -> name varchar(100) -> ); Query OK, 0 rows affected (0.53 sec) レコードはINSERTコマンドを使用して挿入されます。 mysql>INSERT into tblUpdateLimit valu

  2. MySQLデータベースのデータをJavaで更新する方法は?

    データをMySQLデータベーステーブルに更新するには、UPDATEコマンドを使用します。構文は次のとおりです- update yourTableName set yourColumnName1 = value1,....N where condition; まず、テーブルを作成する必要があります。クエリは次のとおりです- mysql> create table UpdateDemo    -> (    -> id int,    -> Name varchar(200) -> ); Query