する

DO式を実行しますが、結果は返しません。ほとんどの場合、 DO結果を返さないSELECT expr, ...と同等です。

注記:

DOは式のみを実行します。 SELECTが使用できるすべてのケースで使用できるわけではありません。たとえば、 DO id FROM t1はテーブルを参照しているため無効です。

MySQL では、ストアド プロシージャまたはトリガーを実行することが一般的な使用例です。 TiDB はストアド プロシージャやトリガーを提供していないため、この機能の使用は限定されています。

あらすじ

DoStmt
DOExpressionList
ExpressionList
Expression,
Expression
singleAtIdentifierassignmentEqNOTExpressionlogOrXORlogAndExpressionMATCH(ColumnNameList)AGAINST(BitExprFulltextSearchModifierOpt)PredicateExprIsOrNotOpNULLCompareOpsingleAtIdentifierassignmentEqPredicateExprAnyOrAllSubSelectIsOrNotOptrueKwdfalseKwdUNKNOWN

この SELECT ステートメントは一時停止しますが、結果セットも生成します。

mysql> SELECT SLEEP(5); +----------+ | SLEEP(5) | +----------+ | 0 | +----------+ 1 row in set (5.00 sec)

一方、DO は結果セットを生成せずに一時停止します。

mysql> DO SLEEP(5); Query OK, 0 rows affected (5.00 sec) mysql> DO SLEEP(1), SLEEP(1.5); Query OK, 0 rows affected (2.50 sec)

MySQLの互換性

TiDB のDOステートメントは MySQL と完全な互換性があります。互換性の違いが見つかった場合は、 バグを報告 .

こちらも参照

このページは役に立ちましたか?