Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Mysql tiếng Đức đánh dấu tìm kiếm không nhạy cảm trong các tìm kiếm toàn văn

Khi bạn xác định CHARACTER SETS riêng lẻ đối với các cột của mình, bạn ghi đè đối chiếu mà bạn đặt mặc định ở cấp bảng.

Mỗi cột của bạn có latin1 mặc định đối chiếu (là latin1_swedish_ci ). Bạn có thể thấy nó bằng cách chạy SHOW CREATE TABLE .

Trong FULLTEXT các truy vấn, các cột được lập chỉ mục có COERCIBILITY trong tổng số 0 , đó là tất cả các truy vấn đầy đủ văn bản được chuyển đổi thành đối chiếu được sử dụng trong chỉ mục, không phải ngược lại.

Bạn cần xóa CHARACTER SETS định nghĩa từ các cột của bạn hoặc đặt tất cả các cột thành latin1_german_ci một cách rõ ràng :

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;



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Các biến MySQL lưu trữ tên cơ sở dữ liệu

  2. Thứ tự các cột trong chỉ mục nhiều cột trong MySQL

  3. Trích xuất URL từ img src bằng truy vấn mysql

  4. Vấn đề có nhiều cơ sở dữ liệu?

  5. Nhóm theo truy vấn chọn mysql union