MySQL запрос ничего не делать (например, пройти) - PullRequest
1 голос
/ 20 апреля 2020

Многие языки имеют конструкцию, которая заполняет синтаксическую c позицию оператора, но не имеет никакого эффекта: pass в Python, \relax в TeX, CONTINUE в Fortran, ; в C и Perl.

Что эквивалентно в MySQL? То есть запрос, который был бы синтаксически правильным, но не имел никакого эффекта - кроме запутанных выражений типа SELECT * FROM table LIMIT 0.

Это полезно, когда запросы генерируются автоматически и в какой-то момент ожидается, что процедура генерации сгенерировать запрос, но действия не выполняются.

Ответы [ 2 ]

2 голосов
/ 20 апреля 2020

Этот запрос:

SELECT 1 FROM DUAL WHERE false

или проще в MySql 8.0 +:

SELECT 1 WHERE false

ничего не вернуть, если вы это имеете в виду, когда говорите без эффекта .

0 голосов
/ 20 апреля 2020

Первое, что приходит на ум, это просто SELECT null или что-то подобное.

Редактировать: В отличие от SELECT null, set @noop = null не имеет значения

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...