0
我有一個存儲的郵政/郵政編碼列出一個表:我不能讓MySQL全文搜索工作
CREATE TABLE IF NOT EXISTS `postal_codes` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`codes` text NOT NULL,
PRIMARY KEY (`id`),
FULLTEXT KEY `codes` (`codes`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=3;
INSERT INTO `postal_codes` (`id`, `codes`) VALUES
(1, '30301\r\n30302\r\n30303'),
(2, '90001\r\n90002\r\n90003\r\n90004\r\n90005');
我需要檢查某行是否含有一定郵政/郵政編碼。但是,它不起作用。例如,此查詢返回ID爲2的行,但'codes'列不包含'dfgdfgdfgdf'。這是爲什麼?
SELECT *
FROM postal_codes
WHERE MATCH(codes) AGAINST('+dfgdfgdfgdf' IN BOOLEAN MODE) AND id='2'
感謝您的回答!你是對的,我想過正常化數據。使用全文搜索將是一種更簡單的方式來完成我在應用程序中所要做的事情,但現在我知道這並不可靠,我想我會對數據進行標準化。 – Jeff