Ricerca nel sito web

Come posso rilevare se l'evento ON UPDATE è stato attivato con la query in MySQL?


Puoi rilevarlo con l'aiuto di row_count(). Se row_count() restituisce 1 significa che è un nuovo record. Se restituisce 2, significa che l'evento ON UPDATE viene attivato con la query. Di seguito è riportata la sintassi:

select row_count();

Creiamo innanzitutto una tabella:

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

Inserisci alcuni record nella tabella utilizzando il comando di inserimento:

mysql> insert into DemoTable1512 values(90) on duplicate key update Value=Value+10;
Query OK, 1 row affected (0.09 sec)

Ora puoi verificare che l'evento di aggiornamento sia attivato con l'aiuto della query precedente:

mysql> select row_count();

Ciò produrrà il seguente output:

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

Restituisce 1 che significa no.

Ora puoi inserire nuovamente gli stessi record nella tabella utilizzando il comando di inserimento:

mysql> insert into DemoTable1512 values(90) on duplicate key update Value=Value+10;
Query OK, 2 rows affected (0.12 sec)

Ora puoi verificare che l'evento di aggiornamento sia attivato con l'aiuto della query precedente:

mysql> select row_count();

Ciò produrrà il seguente output:

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

Articoli correlati: