Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

Mysql जर्मन पूर्ण-पाठ खोजों में गैर-संवेदनशील खोज का उच्चारण करता है

जब आप अलग-अलग CHARACTER SETS . को परिभाषित करते हैं अपने स्तंभों के लिए, आप तालिका स्तर पर डिफ़ॉल्ट रूप से सेट किए गए संयोजन को ओवरराइड करते हैं।

आपके प्रत्येक कॉलम में डिफ़ॉल्ट latin1 है संयोजन (जो latin1_swedish_ci . है ) आप इसे SHOW CREATE TABLE . चलाकर देख सकते हैं ।

FULLTEXT . में क्वेरी, अनुक्रमित कॉलम में COERCIBILITY है का 0 , यानी सभी पूर्ण-पाठ प्रश्नों को अनुक्रमणिका में उपयोग किए गए संयोजन में बदल दिया जाता है, न कि इसके विपरीत।

आपको CHARACTER SET को हटाना होगा अपने कॉलम से परिभाषाएं या स्पष्ट रूप से सभी कॉलमों को 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;



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PHP और MySQL :कुछ का योग दिखाएँ, विशिष्ट श्रेणी द्वारा वर्गीकृत

  2. ClusterControl का उपयोग करके एक हाइब्रिड क्लाउड MySQL डेटाबेस परिनियोजित करें

  3. रूबी ऑन रेल्स 3 OSX पर सॉकेट '/tmp/mysql.sock' के माध्यम से स्थानीय MySQL सर्वर से कनेक्ट नहीं हो सकता

  4. खोज तर्क का उपयोग करते हुए दिनांक शर्तें

  5. एक सरणी का उपयोग कर MySQL क्वेरी