MySQL 8.4 发行说明
DO expr [, expr] ...
DO
执行表达式但不返回任何结果。在大多数情况下,DO
是 SELECT
的简写,但它的优点是,当您不关心结果时,它的速度稍快。expr
, ...
DO
主要用于具有副作用的函数,例如 RELEASE_LOCK()
。
示例:此 SELECT
语句会暂停,但也会生成结果集
mysql> SELECT SLEEP(5);
+----------+
| SLEEP(5) |
+----------+
| 0 |
+----------+
1 row in set (5.02 sec)
另一方面,DO
会在不生成结果集的情况下暂停。
mysql> DO SLEEP(5);
Query OK, 0 rows affected (4.99 sec)
例如,这在存储函数或触发器中很有用,它们禁止生成结果集的语句。
DO
仅执行表达式。它不能在 SELECT
可以使用的所有情况下使用。例如,DO id FROM t1
无效,因为它引用了一个表。