gpt4 book ai didi

mysql - 如何从 bash shell 运行 Mysql 查询?

转载 作者:行者123 更新时间:2023-11-29 02:12:33 26 4
gpt4 key购买 nike

抱歉,如果问题措辞不当,基本上我正在尝试做这样的事情

mysql --user user --p password database -e "    SELECT *  FROM 
`wp_postmeta` WHERE `meta_key` LIKE '_sku' AND `meta_value` = '';" | awk ' { print $2 } ' > post_id_data.txt

然而,当我运行这种代码风格时,我遇到了错误,我不确定为什么,原因是 mysql 语句直接来自 phpmyadmin,并且在我连接到 mariadb 数据库时有效。我试图删除一些反勾,使它们更像这样'' 而不是显示什么,但仍然没有运气,我得到了这个错误

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 ''wp_postmeta' WHERE 'meta_key' LIKE '_sku' AND 'meta_value' = ''' at line 1

下面是我尝试过的另一个代码示例。

#!/bin/bash
MYSQLUSER="user"
MYSQLPASS="password"
database="wordpress"




#mysql options to be parsed
MYSQLOPTS="--user=${MYSQLUSER} --password=${MYSQLPASS} ${database}"

mysql ${MYSQLOPTS} << EOFMYSQL
SELECT * FROM `wp_postmeta` WHERE `meta_key` LIKE '_sku' AND `meta_value` = '';
EOFMYSQL

我也试过了

root@3e0a62b6b42c:/# mysql --user=user--password=passowrd wordpress -e 
"SELECT * FROM 'wp_postmeta' WHERE 'meta_key' LIKE '_sku' AND
'meta_value' = '';"

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 ''wp_postmeta' WHERE 'meta_key' LIKE '_sku' AND 'meta_value' = ''' at line 1

请注意,我是 Mysql 的新手,因此非常感谢任何对我可以做这样的事情的良好学习 Material 的引用

最佳答案

删除列/表名称周围的分号和引号。

当您使用分号终止查询时,mysql 工具会爆炸。
如果需要,请使用反引号来引用实体名称,而不是引号。

试试这个:

"SELECT * FROM wp_postmeta WHERE meta_key LIKE '_sku' AND meta_value = ''"

关于mysql - 如何从 bash shell 运行 Mysql 查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47846879/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com