MariaDB ROW_COUNT() 函数使用指南
在 MariaDB 中,ROW_COUNT() 是一个内置函数,它返回由上一个更新、插入或删除语句的影响行数。
MariaDB ROW_COUNT() 语法
这里是 MariaDB ROW_COUNT() 函数的语法:
ROW_COUNT()
参数
MariaDB ROW_COUNT() 函数不需要任何参数。
返回值
MariaDB ROW_COUNT() 函数返回上一个 SQL 语句执行的受影响的行数。ROW_COUNT() 函数的执行逻辑如下:
-
如果上一个语句是 DDL 语句,
ROW_COUNT()函数将返回 0。比如CREATE TABLE,DROP TABLE等。 -
如果上一个语句是
UPDATE,INSERT,DELETE,ALTER TABLE或者LOAD DATA语句,ROW_COUNT()函数将返回受影响的行数。 -
如果上一个语句是一个返回结果集的
SELECT语句,ROW_COUNT()函数将返回 -1。 -
如果上一个语句不是一个返回结果集的
SELECT语句,ROW_COUNT()函数将返回受影响的行数。比如:SELECT * FROM t1 INTO OUTFILE 'file_name'。
MariaDB ROW_COUNT() 例子
下面的示例展示了如何使用 ROW_COUNT() 函数。
首先,让我们创建一个表 test_row_count :
CREATE TABLE test_row_count(
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY
);
让我们调用 ROW_COUNT() 函数:
SELECT ROW_COUNT();
输出:
+-------------+
| ROW_COUNT() |
+-------------+
| 0 |
+-------------+由于上一个语句时 CREATE 语句,因此 ROW_COUNT() 返回了 0。
让我们插入 2 行以供测试:
INSERT INTO test_row_count (id) VALUES (NULL), (NULL);
输出:
Query OK, 2 rows affected (0.014 sec)
Records: 2 Duplicates: 0 Warnings: 0这里, 2 rows affected 告诉我们有 2 行受到了影响,即新增加的两行。让我们使用 ROW_COUNT() 函数看一下受影响的行数:
SELECT ROW_COUNT();
输出:
+-------------+
| ROW_COUNT() |
+-------------+
| 2 |
+-------------+这里, ROW_COUNT() 函数返回的 2 与上面 INSERT 语句返回的 2 rows affected 是一致的。
让我们查询一下表中的数据:
SELECT * FROM test_row_count;
输出:
+----+
| id |
+----+
| 1 |
| 2 |
+----+让我们使用 ROW_COUNT() 函数看一下受影响的行数:
SELECT ROW_COUNT();
输出:
+-------------+
| ROW_COUNT() |
+-------------+
| -1 |
+-------------+这里,ROW_COUNT() 函数返回了 -1。
结论
在 MariaDB 中,ROW_COUNT() 是一个内置函数,它返回由上一个更新、插入或删除语句的影响行数。