Drupal网站中简单查询的SQL查询错误
我们设置了一堆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
感谢。
回答:
你必须使用双引号没有;在文件夹中执行命令位于settings.php这个
drush -v -d sql-query "show tables"
对于多站点的Drupal其中:
drush -v -d sql-query "show tables" --database=websitedbname
或
drush -v -d sql-query "show tables" --target=website
https://drushcommands.com/drush-7x/sql/sql-query/
此外,您还可以手动连接到数据库(mysql或其他)并发出请求。
以上是 Drupal网站中简单查询的SQL查询错误 的全部内容, 来源链接: utcz.com/qa/267231.html