建表如下:CREATE TABLE `tnew` (
`id` int NOT NULL ,
`content` longtext NULL ,
PRIMARY KEY (`id`),
FULLTEXT INDEX `content` (`content`)
)
ENGINE=MyISAM
CHECKSUM=0
DELAY_KEY_WRITE=0
;
说明下,我已建立了全文搜索索引content,表的类型为MyISAM应该也没问题,但我查询时,却没查到任任记录。
而我用like来查,确实能查到一条记录。
Select * from tnew where MATCH content AGAINST ('张三') ;//无记录
Select * from tnew where content like ('%张三%') ;//有记录
应该这样写没错吧?有请大虾指点。
`id` int NOT NULL ,
`content` longtext NULL ,
PRIMARY KEY (`id`),
FULLTEXT INDEX `content` (`content`)
)
ENGINE=MyISAM
CHECKSUM=0
DELAY_KEY_WRITE=0
;
说明下,我已建立了全文搜索索引content,表的类型为MyISAM应该也没问题,但我查询时,却没查到任任记录。
而我用like来查,确实能查到一条记录。
Select * from tnew where MATCH content AGAINST ('张三') ;//无记录
Select * from tnew where content like ('%张三%') ;//有记录
应该这样写没错吧?有请大虾指点。
解决方案 »
- MySQL建表报错!Row size too large!
- mysql 怪异的问题,急。。
- mysql 6.0 官方网站上怎么找不到呢?哪位能提供连接?
- MYSQL 多表查询
- mysql服务自动关闭的问题,大虾帮忙T_T
- 数据表中有一个日期时间字段,如何查出和当前时间相比超过两个小时的记录?
- 查询年度的问题...
- progreSQL中,使用psql时,老是提示"undefined symbol: get_progname"
- 请教交手机话费的系统其数据库中的表结构是怎么样的??
- delete inner join 语法报错,求检查~
- 程序访问MYSQL那边需要做HOST解析
- mysql的同步问题,不能成功
Query OK, 0 rows affected (0.00 sec)mysql> select *from tnew;
+----+---------+
| id | content |
+----+---------+
| 1 | 张三 |
| 2 | 李四 |
| 3 | 周一 |
| 4 | 胡三 |
| 5 | 赵四 |
| 6 | 谢一 |
+----+---------+
6 rows in set (0.02 sec)mysql> select * from tnew where match(content) against('张三');
+----+---------+
| id | content |
+----+---------+
| 1 | 张三 |
+----+---------+
1 row in set (0.00 sec)1:楼主检查下你的ft_min_word_len 是多,默认是4,需要楼主改成2;
在my.cnf或则my.ini里面的mysqld选项组里面添加
ft_min_word_len=2
2:重启数据库
3:repair table;
ft_min_word_len 为4 ,也是可以启动的。
是的,我这里,也是中文检索不出来,E文可以的,我的是utf-8字符集编码。
那看来还是like好用啊。。