我有一个相当复杂的 SQL 查询,用于获取 中的别名转发电子邮件Postfix
。问题是在 SQL 查询中Postfix
使用插入别名标记。我认为这会导致 Postfix 查询失败,而直接将其插入(用测试别名替换 )%s
时查询可以正常工作MySQL
%s
SELECT email FROM members JOIN groups ON mgroup_others LIKE CONCAT('%,', g_id, ',%') OR member_group_id = g_id WHERE g_title LIKE CONCAT('%[', '%s', ']%');
错误Postfix
:
postfix/smtpd[9585]: fatal: db_common_parse: /etc/postfix/mysql-aliases.cf: Invalid query template: SELECT email FROM members JOIN groups ON mgroup_others LIKE CONCAT('%,', g_id, ',%') OR member_group_id = g_id WHERE g_title LIKE CONCAT('%[', '%s', ']%');
我对错误的猜测是否正确以及/或者我该如何解决它?
答案1
显然,您需要添加 double%%
以便 Postfix%
在执行查询时对其进行解析。