2014-11-19 4 views
0

Я пытаюсь отправить команду SQL на удаленный сервер: '=Как отправить SQL заявление к удаленному серверу через SSH

Команда:

`mysql -u videoeditor -p12345 testing -e "UPDATE testing.video SET rtsp_url = INSERT(rtsp_url, LENGTH(rtsp_url) - LOCATE('/', REVERSE(rtsp_url)) + 2, 0, '10101');"` 

моя полная команда, чтобы сделать это:

ssh [email protected] 'mysql -u videoeditor -p12345 testing -e "UPDATE testing.video SET rtsp_url = INSERT(rtsp_url, LENGTH(rtsp_url) - LOCATE('/', REVERSE(rtsp_url)) + 2, 0, '10101');"'

но мне кажется, что мой синтаксис является неправильным

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 '/, REVERSE(rtsp_url)) + 2, 0, 10101)' at line 1 

ответ

0

Скорее всего, вам нужно избежать «в строке sql, так как вы их обертываете внутри», чтобы использовать ssh.

ssh [email protected] 'mysql -u videoeditor -p12345 testing -e "UPDATE testing.video SET rtsp_url = INSERT(rtsp_url, LENGTH(rtsp_url) - LOCATE(\'/\', REVERSE(rtsp_url)) + 2, 0, \'10101\');"' 
+0

-bash: ошибка синтаксиса около неожиданной лексемы '(» – Andy

+0

Вы можете разместить всю ошибку –

+0

Это полная ошибка – Andy

0

Каждый апостроф внутри команды SQL должны быть заменены на «\»»

0

Вы передавая имя хоста. Пожалуйста, попробуйте установить формат

mysql -p -u <mysql_username> -h <mysql_server_ip> -e "<update query>" 

Удостоверьтесь, что есть необходимые разрешения от удаленного сервера на сервер MySQL

Смежные вопросы