我在MySQL 5.6.19中有以下结构。
CREATE TABLE `metadata` (
`md5` char(32) NOT NULL,
`match` enum('none','md5','similarity') DEFAULT NULL
)
我在执行这样的查询时遇到错误:
select * from metadata where match = 'md5';
错误是:
错误1064(42000):您的SQL语法有错误;检查 手册,对应右边的MySQL服务器版本 在第1行'='md5''附近使用的语法
表中有多个条目和行可以匹配查询。但MySQL拒绝这样做。有什么想法吗? 谢谢!
答案 0 :(得分:2)
MATCH
是MySQL中的保留关键字:http://dev.mysql.com/doc/mysqld-version-reference/en/mysqld-version-reference-reservedwords-5-5.html。您应该在反引号中包含您的字段名称以使其正常工作:
select * from metadata where `match` = 'md5';