CREATE TABLE `tb_pn_items` (
`tid` int(11) NOT NULL auto_increment,
`shortdesc` varchar(255) NOT NULL default '',
PRIMARY KEY (`tid`),
FULLTEXT KEY `shortdesc` (`shortdesc`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 ;利用如下 SQL
SELECT * FROM `tb_pn_items` WHERE MATCH (shortdesc) AGAINST ('+Drive +LED' IN BOOLEAN MODE)
本希望它返回的字段 有 Drive 与 LED, 可是它不工作等效与 '+Drive LED' ,也就是说一定有Drive,但不一定有 LED.
而且我把 数据表 改成
CREATE TABLE `tb_pn_items` (
`tid` int(11) NOT NULL auto_increment,
`shortdesc` varchar(255) NOT NULL default '',
PRIMARY KEY (`tid`),
) ENGINE=MyISAM DEFAULT CHARSET=latin1 ;
效果一样。不知什么地方错了。谢谢 mysql 4.1 ,php 4+
`tid` int(11) NOT NULL auto_increment,
`shortdesc` varchar(255) NOT NULL default '',
PRIMARY KEY (`tid`),
FULLTEXT KEY `shortdesc` (`shortdesc`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 ;利用如下 SQL
SELECT * FROM `tb_pn_items` WHERE MATCH (shortdesc) AGAINST ('+Drive +LED' IN BOOLEAN MODE)
本希望它返回的字段 有 Drive 与 LED, 可是它不工作等效与 '+Drive LED' ,也就是说一定有Drive,但不一定有 LED.
而且我把 数据表 改成
CREATE TABLE `tb_pn_items` (
`tid` int(11) NOT NULL auto_increment,
`shortdesc` varchar(255) NOT NULL default '',
PRIMARY KEY (`tid`),
) ENGINE=MyISAM DEFAULT CHARSET=latin1 ;
效果一样。不知什么地方错了。谢谢 mysql 4.1 ,php 4+
他等同于'+Drive'
'Drive LED' 这表示,满足Drive或者LED都可以.
* 任何过于短的词都会被忽略。 全文搜索所能找到的词的默认最小长度为 4个字符。
要是搜索 SELECT * FROM `tb_pn_items` WHERE MATCH (shortdesc) AGAINST ( '+LED' ) 不回返回记录
SELECT * FROM `tb_pn_items` WHERE MATCH (shortdesc) AGAINST ( '+LEDs' ) 可以返回记录
我把语句改成 SELECT * FROM `tb_pn_items` WHERE MATCH (shortdesc) AGAINST ('+Drive +LEDS' IN BOOLEAN MODE)
返回的记录倒符合要求了,但是记录数不对