Computer >> Máy Tính >  >> Lập trình >> MySQL

Làm cách nào để phát hiện nếu sự kiện ON UPDATE được kích hoạt với truy vấn trong MySQL?

Bạn có thể phát hiện với sự trợ giúp của row_count (). Nếu row_count () trả về 1 điều đó có nghĩa là nó là một bản ghi mới. Nếu nó trả về 2, điều đó có nghĩa là sự kiện ON UPDATE được kích hoạt với truy vấn. Sau đây là cú pháp -

select row_count();

Đầu tiên chúng ta hãy tạo một bảng -

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

Chèn một số bản ghi vào bảng bằng lệnh chèn -

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

Bây giờ bạn có thể kiểm tra sự kiện on update được kích hoạt với sự trợ giúp của truy vấn trên -

mysql> select row_count();

Điều này sẽ tạo ra kết quả sau -

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

Nó trả về 1 nghĩa là không.

Giờ đây, bạn có thể chèn lại các bản ghi tương tự trong bảng bằng cách sử dụng lệnh insert -

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

Bây giờ bạn có thể kiểm tra sự kiện on update được kích hoạt với sự trợ giúp của truy vấn trên -

mysql> select row_count();

Điều này sẽ tạo ra kết quả sau -

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