J'ai des problèmes avec la sensibilité à la casse dans MySQL FULLTEXT recherches.MySQL FULLTEXT aggravation
Je viens de suivre l'exemple FULLTEXT dans le doco MySQL au http://dev.mysql.com/doc/refman/5.1/en/fulltext-boolean.html. Je vais poster ici pour plus de commodité ...
CREATE TABLE articles (
id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
title VARCHAR(200),
body TEXT,
FULLTEXT (title,body)
);
INSERT INTO articles (title,body) VALUES
('MySQL Tutorial','DBMS stands for DataBase ...'),
('How To Use MySQL Well','After you went through a ...'),
('Optimizing MySQL','In this tutorial we will show ...'),
('1001 MySQL Tricks','1. Never run mysqld as root. 2. ...'),
('MySQL vs. YourSQL','In the following database comparison ...'),
('MySQL Security','When configured properly, MySQL ...');
SELECT * FROM articles
WHERE MATCH (title,body)
AGAINST ('database' IN NATURAL LANGUAGE MODE);
... mon problème est que l'exemple montre que SELECT retourner les première et cinquième lignes (« ..DataBase .. » et ' ..database .. ') mais je n'ai qu'une ligne (' database ')!
L'exemple ne montre pas le classement de la table dans l'exemple mais je me suis retrouvé avec latin1_general_cs sur les colonnes title et body de ma table d'exemple.
Ma version de MySQL est 5.1.39-log et le classement de connexion est utf8_unicode_ci.
Je serais vraiment reconnaissant si quelqu'un pouvait suggérer pourquoi mon expérience diffère de l'exemple dans le manuel!
Soyez reconnaissant pour tout conseil.
Très bien - merci beaucoup d'expliquer cela. J'ai maintenant recréé le tableau indiquant précisément le classement/jeu de caractères: créer des articles de table ( id INT UNSIGNED AUTO_INCREMENT NOT NULL clé primaire, titre VARCHAR (200), corps TEXTE, FULLTEXT (titre, corps) ) JEU DE CARACTÈRES PAR DÉFAUT latin1 COLLATE latin1_general_ci; ... et la requête fonctionne maintenant comme le suggère l'exemple. Merci beaucoup pour votre aide. – shearichard