为什么 MySQL 拒绝我的 postfix 虚拟域查询,理由是“SQL 语法有错误”?

为什么 MySQL 拒绝我的 postfix 虚拟域查询,理由是“SQL 语法有错误”?

我在使用 MySQL Courier + Postfix 电子邮件服务器时遇到问题

这是错误日志:

warning: mysql:/etc/postfix/mysql-virtual_domains.cf: query failed: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'virtual FROM `domains` WHERE domain='domain.example'' at line 1

并输入代码mysql-virtual_domains.cf

user = mail_admin
password = mypassword
dbname = mail
query = SELECT domain AS virtual FROM `domains` WHERE domain='%s'
hosts = 127.0.0.1

该怎么办?

答案1

VIRTUAL 是 MySQL 中的一个关键字。

使用不同的别名,转义标识符使用反引号..或者直接跳过这一AS [alias]部分:配置的地图virtual_alias_domains仅用于检查无论反正有结果,不是什么结果是:

当表条目与查找字符串匹配时,将匹配“type:table”查找表(查找结果被忽略)——来自man 5 postconf

相关内容