You are viewing the archived documentation of TiDB, which no longer receives updates.

View latest LTS version docs

DO

DO executes the expressions but does not return any results. In most cases, DO is equivalent to SELECT expr, ... that does not return a result.

In MySQL, a common use case is to execute stored procedure or trigger. Since TiDB does not provide stored procedure or trigger, this function has a limited use.

Synopsis

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

Examples

This SELECT statement pauses, but also produces a result set.

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

DO, on the other hand, pauses without producing a result set.

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 compatibility

The DO statement in TiDB is fully compatible with MySQL. If you find any compatibility differences, report a bug.

See also