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

mysql 8 परिणाम रोसेट केस में क्या परिवर्तन हैं?

MySQL 8.0 ने INFORMATION_SCHEMA में कुछ दृश्यों के कार्यान्वयन को बदल दिया:

https://mysqlserverteam.com/mysql-8-0-improvements- to-information_schema/ कहते हैं:

तो यह अच्छे कारणों से किया जा रहा है, लेकिन मैं समझता हूं कि जब आप कॉलम नाम के आधार पर सहयोगी सरणी में परिणाम प्राप्त करते हैं तो इससे आपके कुछ प्रश्न परेशान हो जाते हैं।

आप देख सकते हैं कि दृश्य की परिभाषा स्पष्ट रूप से अपरकेस में कॉलम नाम की घोषणा करती है:

mysql 8.0.14> SHOW CREATE VIEW CHARACTER_SETS\G
*************************** 1. row ***************************
                View: CHARACTER_SETS
         Create View: CREATE ALGORITHM=UNDEFINED DEFINER=`mysql.infoschema`@`localhost` SQL SECURITY DEFINER VIEW `CHARACTER_SETS` AS 
  select 
    `cs`.`name` AS `CHARACTER_SET_NAME`,
    `col`.`name` AS `DEFAULT_COLLATE_NAME`,
    `cs`.`comment` AS `DESCRIPTION`,
    `cs`.`mb_max_length` AS `MAXLEN` -- delimited column explicitly uppercase
  from (`mysql`.`character_sets` `cs` 
  join `mysql`.`collations` `col` on((`cs`.`default_collation_id` = `col`.`id`)))

character_set_client: utf8
collation_connection: utf8_general_ci

आप कुछ तरीकों से बदलाव के आसपास काम कर सकते हैं:

जब आप किसी दृश्य को क्वेरी करते हैं तो आप अपने स्वयं के कॉलम उपनाम घोषित कर सकते हैं:

mysql 8.0.14> SELECT MAXLEN AS `maxlen` 
  FROM `information_schema`.`CHARACTER_SETS` LIMIT 2;
+--------+
| maxlen |
+--------+
|      2 |
|      1 |
+--------+

आप 8.0 से पहले अपरकेस में कॉलम पूछने की आदत शुरू कर सकते हैं। मेरे 5.7 सैंडबॉक्स में परिणाम दिखाने वाला एक परीक्षण यहां दिया गया है:

mysql 5.7.24> SELECT MAXLEN 
  FROM `information_schema`.`CHARACTER_SETS` LIMIT 2;
+--------+
| MAXLEN |
+--------+
|      2 |
|      1 |
+--------+

या आप परिणामों को एक गैर-एसोसिएटिव ऐरे में ला सकते हैं, और संदर्भ कॉलम नाम के बजाय कॉलम संख्या के आधार पर प्राप्त कर सकते हैं।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. AWS Aurora उदाहरण के लिए लिखने के प्रदर्शन का अनुकूलन करें

  2. फ़ील्ड को अधिकतम (फ़ील्ड) + 1 . में अपडेट करने के लिए mysql क्वेरी

  3. एक MySQL जॉइन के साथ समस्याएँ होना जिसके लिए कई शर्तों को पूरा करने की आवश्यकता होती है

  4. MySQL का उपयोग करके बाइनरी को दशमलव में बदलें

  5. mysql में यूटीसी में तारीख