MySQL में NVARCHAR का व्यवहार
MySQL में NVARCHAR() को स्वचालित रूप से VARCHAR() में बदल दिया जाता है। NVARCHAR का अर्थ "National Varchar" होता है, लेकिन MySQL इसे VARCHAR के रूप में ही ट्रीट करता है।
आइए एक टेबल बनाते हैं जिसमें एक कॉलम NVARCHAR हो:
mysql> CREATE TABLE DemoTable (
StudentName NVARCHAR(40),
StudentCountryName VARCHAR(50)
);
आउटपुट: Query OK, 0 rows affected, 1 warning
टेबल का विवरण देखें:
mysql> DESC DemoTable;
आउटपुट:
+--------------------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +--------------------+-------------+------+-----+---------+-------+ | StudentName | varchar(40) | YES | | NULL | | | StudentCountryName | varchar(50) | YES | | NULL | | +--------------------+-------------+------+-----+---------+-------+
जैसा कि आप देख सकते हैं, NVARCHAR टाइप वाला StudentName कॉलम MySQL में स्वचालित रूप से VARCHAR में बदल गया है।
रिकॉर्ड्स इन्सर्ट करें:
mysql> INSERT INTO DemoTable VALUES ('Chris', 'US');
mysql> INSERT INTO DemoTable VALUES ('Tom', 'UK');
mysql> INSERT INTO DemoTable VALUES ('David', 'AUS');
सभी रिकॉर्ड्स देखें:
mysql> SELECT * FROM DemoTable;
आउटपुट:
+-------------+--------------------+ | StudentName | StudentCountryName | +-------------+--------------------+ | Chris | US | | Tom | UK | | David | AUS | +-------------+--------------------+
महत्वपूर्ण बिंदु:
- MySQL NVARCHAR को VARCHAR के एलियास के रूप में ट्रीट करता है
- दोनों यूनिकोड डेटा स्टोर कर सकते हैं (यदि टेबल/कॉलम का कैरेक्टर सेट utf8mb4 हो)
- यदि आपको वास्तविक नेशनल कैरेक्टर सेट व्यवहार चाहिए, तो कॉलम पर कैरेक्टर सेट स्पष्ट रूप से सेट करें:
VARCHAR(40) CHARACTER SET utf8mb4 - चेतावनी संदेश इंगित करता है कि NVARCHAR को VARCHAR में बदला गया है