MySQL 9.0 發行說明
DO expr [, expr] ...
DO
執行表達式,但不傳回任何結果。在大多數方面,DO
是 SELECT
的簡寫,但它的優點是,當您不在乎結果時,它會稍微快一點。expr
, ...
當函數具有副作用時,例如 RELEASE_LOCK()
,DO
就非常有用。
範例:這個 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
是無效的,因為它引用了一個資料表。