MySQL ошибка отправки в bash из-за пробела - PullRequest
0 голосов
/ 24 января 2020

Я пытаюсь выполнить несколько команд в Linux терминал (centos)

mysql -u whoisdat_count -pMYPASSWORD -D whoisdat_count -e "CREATE TABLE COUE (`T 001` varchar(255));" 

, это выдает ошибку

ERROR 1064 (42000) at line 1: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'varchar(255))' at line 1

Но когда я запускаю ту же команду в PHPmyAdmin

CREATE TABLE COUE (`T 001` varchar(255));

он отлично работает

Мой синтаксис для подключения к базе данных в порядке, потому что эта работа >>

mysql -u whoisdat_count -pPASSWORD -D whoisdat_count -e "INSERT INTO COUE values ('pp p');"

Что мне делать, чтобы он читал пространство в T 001?

1 Ответ

2 голосов
/ 24 января 2020

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

Либо экранируйте обратные кавычки

mysql -u whoisdat_count -pMYPASSWORD -D whoisdat_count -e "CREATE TABLE COUE (\`T 001\` varchar(255));" 

, либо заключите запрос в одинарные кавычки

mysql -u whoisdat_count -pMYPASSWORD -D whoisdat_count -e 'CREATE TABLE COUE (`T 001` varchar(255));' 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...