在终端中执行MySQL命令时获取ERROR 1054(42S22)

时间:2014-06-02 08:10:19

标签: mysql shell mysql-error-1054

我想从crawlstatus表中收集status='RECEIVED'的数据,我希望将该数据存储在一个文件中。
当我在终端尝试这样做时,我得到了ERROR 1054 (42S22)

以下是我用来获取数据的命令:

sudo sh -c '/usr/local/mysql/bin/mysql -h localhost -P 3306 --user=root --password=XXXXXXXXXX -e "select count(*) from crawlstatus where status='RECEIVED';" test_navin > size.log'

我收到以下错误:

ERROR 1054 (42S22) at line 1: Unknown column 'RECEIVED' in 'where clause'

任何人都可以帮助我解决这个问题

1 个答案:

答案 0 :(得分:0)

在这里,您将查询作为参数传递,因此使用'包装查询,但请确保使用'

添加转义序列以包装查询

您应该使用"来包装列值。

sudo sh -c '/usr/local/mysql/bin/mysql -h localhost -P 3306 --user=root --password=XXXXXXXXXX -e "select count(*) from crawlstatus where status=\"802350570V\";" test_navin > size.log'