我們設置了一堆Drupal環境,我們從中央服務器向它們發送命令。當從該服務器發送命令他們在這個格式 -Drupal網站中簡單查詢的SQL查詢錯誤
drusha -v -d @website sql-query 'show tables;'
但是,我得到的錯誤 -
ERROR 1064 (42000) at line 1: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '' at line 1
當我去到實際的數據庫服務器,並手動運行該命令,它工作正常。
我試過切換引號並將它們全部刪除,並刪除了;最後,但我每次都會得到同樣的錯誤。該網站正在使用的數據庫信息是正確的。任何其他命令運行使用這個別名工作正常(drush clear-cache等),所以我不認爲問題是與實際的別名。
有沒有人有任何想法,爲什麼會發生?
編輯 - 當傳遞--database =數據庫名稱我碰到下面的錯誤 -
drusha -v -d @website sqlq -n "SHOW TABLES" --database=databasename
exception 'Drush\Sql\SqlException' with message 'Unable to find a [error]
matching SQL Class. Drush cannot find your database connection
details.' in
phar:///usr/local/bin/drush/commands/sql/sql.drush.inc:588
Stack trace:
#0 phar:///usr/local/bin/drush/commands/sql/sql.drush.inc(426):
drush_sql_get_class(NULL)
#1 [internal function]: drush_sql_query('SHOW', 'TABLES')
#2 phar:///usr/local/bin/drush/includes/command.inc(366):
call_user_func_array('drush_sql_query', Array)
#3 phar:///usr/local/bin/drush/includes/command.inc(217):
_drush_invoke_hooks(Array, Array)
#4 [internal function]: drush_command('SHOW', 'TABLES')
#5 phar:///usr/local/bin/drush/includes/command.inc(185):
call_user_func_array('drush_command', Array)
#6 phar:///usr/local/bin/drush/lib/Drush/Boot/BaseBoot.php(67):
drush_dispatch(Array)
#7 phar:///usr/local/bin/drush/includes/preflight.inc(66):
Drush\Boot\BaseBoot->bootstrap_and_dispatch()
#8 phar:///usr/local/bin/drush/includes/startup.inc(325):
drush_main()
#9 phar:///usr/local/bin/drush/drush(114): drush_startup(Array)
#10 /usr/local/bin/drush(10): require('phar:///usr/loc...')
EDIT2 - 經過一番擺弄多,我得到了它的封閉一切與節目表工作在一個單引號內,然後雙引號,並切換我跑的命令。現在,這是我的命令 -
ssh -q <webserverip> sudo -u apache /usr/local/bin/drush --root=/var/www/html/wwwroot/website/docroot/ sql-query "'UPDATE users SET mail='[email protected]' WHERE uid>1'"
我目前得到的錯誤是 -
ERROR 1064 (42000) at line 1: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '@host WHERE uid>1' at line 1
感謝。
刪除引號給出了相同的錯誤,以及類似這樣的內容 - 「'show tables';'。你在談論哪個報價?它應該移到哪裏? –