Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

MySQL에서 쿼리로 ON UPDATE 이벤트가 발생했는지 어떻게 감지합니까?

<시간/>

row_count()를 사용하여 감지할 수 있습니다. row_count()가 1을 반환하면 새 레코드임을 의미합니다. 2를 반환하면 쿼리와 함께 ON UPDATE 이벤트가 발생한다는 의미입니다. 다음은 구문입니다 -

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)

이제 위 쿼리의 도움으로 on update 이벤트가 발생했는지 확인할 수 있습니다 -

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)

이제 위 쿼리의 도움으로 on update 이벤트가 발생했는지 확인할 수 있습니다 -

mysql> select row_count();

이것은 다음과 같은 출력을 생성합니다 -

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