3
intフィールドとvarcharフィールドとの一致条件を使用しています。 http://bugs.mysql.com/bug.php?id=22343によると、バイナリと非バイナリの列型を混在させると、マッチはバイナリになり、大文字と小文字が区別されます。大文字と小文字を区別しないで列の種類を混合するためのMySQL MATCHの使用
私の質問は、検索で大文字と小文字を区別しないようにする方法です。私はMATCH(lower(a)、b)AGAINST( 'title')を使ってみましたが、これはうまくいきません。
ここでは、テストとして使用できるスキーマを示します。
CREATE TABLE IF NOT EXISTS `foo` (
`a` int(11) NOT NULL,
`b` varchar(50) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
INSERT INTO `foo` (`a`, `b`) VALUES
(2345345, 'title and volume'),
(145344, 'Volume'),
(1234214, 'Title');
SELECT * FROM `foo` WHERE MATCH (a,b) AGAINST ('title' IN BOOLEAN MODE)
。私がLOWER(a)をしようとしたときと同様に –
それは刺激的です。私はそれから 'MATCH'を分解しなければならないと思います。 – chaos
前に読んだことは、マッチを分割することができます。上記の私のテストでは、まだ大文字と小文字が区別され、意味をなさない。 –