Saat Anda menentukan CHARACTER SETS
individual untuk kolom Anda, Anda mengganti susunan yang Anda setel default pada tingkat tabel.
Setiap kolom Anda memiliki latin1
default susunan (yaitu latin1_swedish_ci
). Anda dapat melihatnya dengan menjalankan SHOW CREATE TABLE
.
Di FULLTEXT
kueri, kolom yang diindeks memiliki COERCIBILITY
dari 0
, yaitu semua kueri teks lengkap dikonversi ke susunan yang digunakan dalam indeks, bukan sebaliknya.
Anda harus menghapus CHARACTER SET
definisi dari kolom Anda atau atur semua kolom secara eksplisit ke latin1_german_ci
:
CREATE TABLE `hotels` (
`HotelNo` varchar(4) NOT NULL default '0000',
`Hotel` varchar(80) NOT NULL default '',
`City` varchar(100) default NULL,
`CityFR` varchar(100) default NULL,
`Region` varchar(50) default NULL,
`RegionFR` varchar(100) default NULL,
`Country` varchar(50) default NULL,
`CountryFR` varchar(50) default NULL,
`HotelText` text,
`HotelTextFR` text,
`tagsforsearch` text,
`tagsforsearchFR` text,
PRIMARY KEY (`HotelNo`),
FULLTEXT KEY `fulltextHotelSearch` (`HotelNo`,`Hotel`,`City`,`CityFR`,`Region`,`RegionFR`,`Country`,`CountryFR`,`HotelText`,`HotelTextFR`,`tagsforsearch`,`tagsforsearchFR`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_german1_ci;
INSERT
INTO hotels (hotelText, HotelTextFR, tagsforsearch, tagsforsearchFR)
VALUES ('text', 'text', 'graubünden', 'tags');
SELECT *
FROM hotels
WHERE MATCH (`HotelNo`,`Hotel`,`City`,`CityFR`,`Region`,`RegionFR`,`Country`,`CountryFR`, `HotelText`, `HotelTextFR`, `tagsforsearch`, `tagsforsearchFR`)
AGAINST (CONVERT('+graubunden' USING latin1) COLLATE latin1_german1_ci IN BOOLEAN MODE)
ORDER BY
Country ASC, Region ASC, City ASC;