这是正常输出:
mysql> select module_id from Modules where Module_name = 'STP_XENA';
+-----------+
| module_id |
+-----------+
| 3 |
+-----------+
1 row in set (0.00 sec)
我是否可以仅将查询作为“3
”
我需要类似的东西,
mysql> select module_id from Modules where Module_name = 'STP_XENA';
3
mysql>
但不是来自bash或控制台。有没有选择这样做?
答案 0 :(得分:0)
您想在bash脚本中使用查询结果吗?
如果是这样,你可以这样做:
mysql -u{user} -p{password} -s -N -e "select module_id from Modules where Module_name = 'STP_XENA'" database_name
示例:
module_id = `mysql -u{user} -p{password} -s -N -e "select module_id from Modules where Module_name = 'STP_XENA'" database_name`
echo $module_id
答案 1 :(得分:0)
你不能在MySQL编辑器AFAIK中做到这一点。如果您从控制台执行脚本,那么添加-B
开关可以获得所需的结果。
> mysql -B -u username -p password -e "select module_id from Modules where Module_name = 'STP_XENA';" DBNAME
将使用列名称生成值:
module_id
3
此外,如果您添加--skip-column-names
> mysql -B --skip-column-names -u username -p password -e "select module_id from Modules where Module_name = 'STP_XENA';" DBNAME
只会产生值(减去列名):
3
HTH
编辑:您可以使用mysql
切换启动--skip-column-names
。我不确定-B
。如果您能够从-B
开始,那么很棒。