Php MySQL与Dons的比赛';t返回所有拟合结果
为了简化,我有一个表,照片ID和标签ID。我最近注意到,当我使用MATCH-country命令时,它不会返回所有合适的匹配项。尽管有时两行包含测试所针对的完全相同的文本,但仍有一行被选中,另一行未被选中 这是一张名为“照片”的表格Php MySQL与Dons的比赛';t返回所有拟合结果,php,mysql,match-against,Php,Mysql,Match Against,为了简化,我有一个表,照片ID和标签ID。我最近注意到,当我使用MATCH-country命令时,它不会返回所有合适的匹配项。尽管有时两行包含测试所针对的完全相同的文本,但仍有一行被选中,另一行未被选中 这是一张名为“照片”的表格 id | type | size | tag | +----------------+------+--
id | type | size | tag |
+----------------+------+---------+----------------------------------------------------------------------+
| IMG_1485197299 | jpg | 1400000 | ImgTg_0000000000 |
| IMG_1485429476 | jpg | 0 | ImgTg_1485195510 ImgTg_1485195592 ImgTg_1485195621 ImgTg_1486234725 |
| IMG_1485429627 | jpg | 0 | ImgTg_1485195510 ImgTg_1485195621 ImgTg_1485195592 |
| IMG_1485429660 | jpg | 0 | ImgTg_1485195510 ImgTg_1485195621 ImgTg_1485195592 |
| IMG_1485429669 | jpg | 0 | ImgTg_1485195510 ImgTg_1485195621 ImgTg_1485195592 |
| IMG_1485429681 | jpg | 0 | ImgTg_1485195592 |
| IMG_1485429687 | jpg | 0 | ImgTg_1486234725 |
| IMG_1485429695 | jpg | 0 | ImgTg_1485195621 ImgTg_1485195510 |
| IMG_1485429704 | jpg | 0 | ImgTg_0000000000 ImgTg_1486234725 |
| IMG_1485429710 | jpg | 0 | ImgTg_1485195510 |
| IMG_1485429718 | jpg | 0 | ImgTg_1485195510 |
| IMG_1485433986 | jpg | 0 | ImgTg_1485195510 ImgTg_1485195592 |
| IMG_1485433993 | jpg | 0 | ImgTg_1485195510 ImgTg_1485195592 |
| IMG_1486234762 | png | 143306 | ImgTg_1486234725 |
这是我正在使用的命令:
SELECT * FROM photos WHERE MATCH(tag) AGAINST('+ImgTg_1486234725 ' IN BOOLEAN MODE);
它可以很好地处理大多数桌子,但由于某些原因,它不能工作,尤其是在最后一行。返回:
+----------------+------+------+-------------------+
| id | type | size | tag |
+----------------+------+------+-------------------+
| IMG_1485429687 | jpg | 0 | ImgTg_1486234725 |
+----------------+------+------+-------------------+
注意:如果我尝试将标记
更改为不同的id
它会工作!但是一些id
就是不起作用
我该怎么办?谢谢大家的帮助 从昨天开始,我一直在试图解开这个谜语,但我刚刚发现了我在发布问题D后犯的错误
我使用了某种
拉丁文
排序规则,并将其更改为utf8\u bin
,现在它工作得非常好我真的应该考虑在自己的表中有标签。最后一行可能有一些不可打印的字符作为标签名的一部分。tag='imgtg1486234725'
是否检索到最后一行?谢谢@GordonLinoff先生。是的,但我刚刚发现问题并将其作为答案发布。