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
是無效的,因為它引用了一個資料表。