您可以借助row_count()进行检测。如果row_count()返回1,则表示它是新记录。如果返回2,则表示查询触发了ON UPDATE事件。以下是语法-
select row_count();
让我们首先创建一个表-
mysql> create table DemoTable1512 -> ( -> Value int , -> UNIQUE(Value) -> );
使用插入命令在表中插入一些记录-
mysql> insert into DemoTable1512 values(90) on duplicate key update Value=Value+10;
现在您可以在上述查询的帮助下检查触发on更新事件-
mysql> select row_count();
这将产生以下输出-
+-------------+ | row_count() | +-------------+ | 1 | +-------------+ 1 row in set (0.00 sec)
返回1表示否。
现在您可以使用insert命令在表中再次插入相同的记录-
mysql> insert into DemoTable1512 values(90) on duplicate key update Value=Value+10;
现在您可以在上述查询的帮助下检查触发on更新事件-
mysql> select row_count();
这将产生以下输出-
+-------------+ | row_count() | +-------------+ | 2 | +-------------+ 1 row in set (0.00 sec)