MySQL CLI один и тот же запрос разные результаты между интерактивным и неинтерактивным режимом

#mysql

Вопрос:

Мне интересно, не сталкиваюсь ли я со странной ошибкой или какой-то недокументированной проблемой. Это также очень трудно найти в Google, так как ключевые слова для описания этого расплывчаты.

Как вы можете видеть в выводе ниже, если я использую интерактивный клиент MySQL CLI и вручную выберу свою базу данных и введу запрос , который я получу в результате 397 , если я использую неинтерактивный режим -e с ТОЧНО таким же запросом, я получу количество 0.

Почему это так?

 Database changed
MySQL [mydatabase]> SELECT count(*) FROM mydatabase.DomainVersions AS
dv LEFT JOIN domains AS d ON dv.DomainId = d.DomainId WHERE
dv.TemplateId LIKE 'companyDC-Vpc_2021-05%' AND (d.DomainMode =
'"VPC"' OR d.DomainMode = '"CONNECT"') AND NOT DomainState =
'"Deleted"' AND NOT DomainState = '"Deleting"' AND NOT DomainState =
'"Failed"';
 ---------- 
| count(*) |
 ---------- 
|      397 |
 ---------- 
1 row in set (0.20 sec)

MySQL [mydatabase]> Ctrl-C -- exit!
Aborted
[/home/myself]
    myself@devbox $ mysql -u $mysqlUsername --password=$mysqlPasswd -h
$mysqlHostname -e "use mydatabase; SELECT count(*) FROM
mydatabase.DomainVersions AS dv LEFT JOIN mydatabase.domains AS d ON
dv.DomainId = d.DomainId WHERE dv.TemplateId LIKE
'companyDC-Vpc_2021-05%' AND (d.DomainMode = '"VPC"' OR d.DomainMode
= '"CONNECT"') AND NOT DomainState = '"Deleted"' AND NOT DomainState
= '"Deleting"' AND NOT DomainState = '"Failed"';"
 ---------- 
| count(*) |
 ---------- 
|        0 |
 ---------- 
 

Комментарии:

1. Очень странно, что вы храните строку с разделителем в двойных кавычках. Интересно, связано ли это с расхождением?

2. Да, это была давняя досадная ошибка, которую нелегко исправить.

3. @GordonLinoff ты был прав! Я поместил побеги вокруг двойных кавычек, и у меня тот же счет, большое вам спасибо. Не стесняйтесь публиковать ответ на этот вопрос, и я приму его для вас.