匹配不使用两个LEFT JOIN:#1210 - MATCH的参数不正确

时间:2018-03-27 14:18:46

标签: mysql sql join left-join

我的MySQL数据库中有三个表:booksauthorscities

books包含以下列:idauthor_id

authors包含以下列:idauthorcity_id

cities包含以下列:idcity

运行

SELECT *, books.id, authors.author FROM books LEFT JOIN authors ON books.author_id = authors.id WHERE MATCH (authors.author) AGAINST ("peter" IN BOOLEAN MODE);

通过phpMyAdmin中的SQL选项卡一切正常。

但是另外选择LEFT JOIN

SELECT *, books.id, authors.author, cities.city FROM books LEFT JOIN authors ON books.author_id = authors.id LEFT JOIN cities ON authors.city_id = cities.id WHERE MATCH (authors.author, cities.city) AGAINST ("peter" IN BOOLEAN MODE);

我收到错误消息

  

MySQL说:文档

     

#1210 - MATCH的参数不正确

我做了很多测试,似乎MATCH AGAINST不适用于两个LEFT JOIN。但我在互联网上找不到任何东西。我还尝试使用JOIN代替LEFT JOIN,但没有成功。

所有列肯定存在。

知道我能做什么吗?

如果需要更多信息,请询问。

1 个答案:

答案 0 :(得分:0)

我找到了解决方案:列citiesInnoDB,而不是MyISAM,因为其他表格都是。