MySQL दस्तावेज़ कहता है कि 5.0 के बाद से, वर्चर्स लम्बाई वर्ण इकाइयों को संदर्भित करती है, बाइट्स नहीं। हालांकि, मैं हाल ही में एक ऐसे मुद्दे पर आया जहां मुझे वर्चर्स कॉलम में फिट होने वाले मानों को सम्मिलित करते समय डेटा चेतावनियों को छोटा कर दिया गया था।MySQL UTF8 वर्कर कॉलम आकार
मैं v5.1 में एक साधारण तालिका के साथ इस मुद्दे को दोहराया
mysql> show create table test\G
*************************** 1. row ***************************
Table: test
Create Table: CREATE TABLE `test` (
`string` varchar(10) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8
1 row in set (0.00 sec)
मैं तो UTF8 वर्ण की मात्रा भिन्न डाला एकाधिक 10 अक्षर मूल्यों
mysql> insert into test (string) values
-> ('abcdefghij'),
-> ('ãáéíçãáéíç'),
-> ('ãáéíç67890'),
-> ('éíç4567890'),
-> ('íç34567890');
Query OK, 5 rows affected, 4 warnings (0.06 sec)
Records: 5 Duplicates: 0 Warnings: 4
mysql> show warnings;
+---------+------+---------------------------------------------+
| Level | Code | Message |
+---------+------+---------------------------------------------+
| Warning | 1265 | Data truncated for column 'string' at row 2 |
| Warning | 1265 | Data truncated for column 'string' at row 3 |
| Warning | 1265 | Data truncated for column 'string' at row 4 |
| Warning | 1265 | Data truncated for column 'string' at row 5 |
+---------+------+---------------------------------------------+
mysql> select * from test;
+------------+
| string |
+------------+
| abcdefghij |
| ãáéíç |
| ãáéíç |
| éíç4567 |
| íç345678 |
+------------+
5 rows in set (0.00 sec)
मुझे लगता है कि यह पता चलता है कि वर्कर आकार अभी भी बाइट्स में परिभाषित किया गया है या कम से कम, चरित्र इकाइयों में सटीक नहीं है।
सवाल यह है कि, क्या मैं दस्तावेज़ीकरण को सही ढंग से समझ रहा हूं और क्या यह एक बग है? या क्या मैं दस्तावेज़ीकरण की गलत व्याख्या कर रहा हूं?
यह नहीं कि यह आपको थोड़ी सी मदद करता है लेकिन [sqlfiddle] (http://sqlfiddle.com/#!2/829b8/2), जो 5.5.20 होने का दावा करता है, कोई इस मुद्दे को पीड़ित नहीं करता है। शायद यह एक बग था जिसे बाद में तय किया गया है (मैंने खोज की है, लेकिन एक बग रिपोर्ट नहीं मिली है)। – eggyal
समान समस्या 5.5.1 9 में मौजूद है, इसलिए यह संस्करण तय किया जा सकता है। रिलीज नोट्स की एक जांच में वर्चर्स या यूटीएफ 8 – sreimer