我只是在学习设置可搜索的表格,对于任何迟钝的问题,我提前道歉。我已经设置了一个表格,可以让我向其发布消息,似乎工作正常。我需要能够搜索表中的特定列,以确定消息是否应该显示在特定用户的提要中。这是我的节目创作;
CREATE TABLE `feed` (
`messageid` int(11) unsigned NOT NULL AUTO_INCREMENT,
`userid` text,
`contactid` text,
`subject` text,
`message` text,
`timestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
`flag` int(2) NOT NULL,
`state` int(2) NOT NULL,
`trash` int(2) NOT NULL,
PRIMARY KEY (`messageid`),
FULLTEXT KEY `contactid` (`contactid`),
FULLTEXT KEY `userid` (`userid`),
FULLTEXT KEY `message` (`message`),
FULLTEXT KEY `subject` (`subject`)
) ENGINE=MyISAM AUTO_INCREMENT=41 DEFAULT CHARSET=latin1
我相信表格类型设置正确(MyISAM),并且我希望可搜索的任何字段都已正确设置为文本。这是表格的全部内容;
+-----------+--------+-----------+-----------------------------------------+--------------------------------------------+
| messageid | userid | contactid | subject | message |
+-----------+--------+-----------+-----------------------------------------+--------------------------------------------+
| 40 | 67 | 63 66 65 | Another test with apostraphes '''''' | ''' '''' ,,,, ''' ,,,' '''' test test test |
| 39 | 67 | 63 | Here's a test (with apostraphes '''''') | '''''' test test test ''''' |
+-----------+--------+-----------+-----------------------------------------+--------------------------------------------+
所以,我的想法是在 contactid 列中搜索用户的用户 ID。如果出现,该消息将显示在用户的提要中。但是,当我进行搜索时,什么也没有出现;
mysql> select * from feed where match(contactid) against(63);
Empty set (0.00 sec)
有人可以帮我弄清楚我哪里出错了吗?