MySQL में VARCHAR डेटा प्रकार के लिए आकार निर्दिष्ट न करने पर ERROR 1064 को हल करना
MySQL में VARCHAR डेटा प्रकार के लिए अधिकतम लंबाई निर्दिष्ट करना अनिवार्य है। इसके बिना तालिका निर्माण विफल हो जाता है।
समस्या पुनरुत्पादन
mysql> CREATE TABLE DemoTable (
Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
FirstName VARCHAR,
LastName VARCHAR
);
ERROR 1064 (42000): You have an error in your SQL syntax;
check the manual that corresponds to your MySQL server version
for the right syntax to use near ', LastName VARCHAR )' at line 4
समाधान: आकार निर्दिष्ट करें
mysql> CREATE TABLE DemoTable (
Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
FirstName VARCHAR(100),
LastName VARCHAR(100)
);
Query OK, 0 rows affected
रिकॉर्ड डालना और परीक्षण
mysql> INSERT INTO DemoTable(FirstName, LastName) VALUES('Adam', 'Smith');
mysql> INSERT INTO DemoTable(FirstName, LastName) VALUES('John', 'Doe');
mysql> INSERT INTO DemoTable(FirstName, LastName) VALUES('Chris', 'Brown');
mysql> SELECT * FROM DemoTable;
आउटपुट:
+----+-----------+----------+ | Id | FirstName | LastName | +----+-----------+----------+ | 1 | Adam | Smith | | 2 | John | Doe | | 3 | Chris | Brown | +----+-----------+----------+
महत्वपूर्ण जानकारी
VARCHAR(n)- n अधिकतम वर्णों की संख्या है (0 से 65,535 तक)- भंडारण: वास्तविक स्ट्रिंग लंबाई + 1 या 2 बाइट लंबाई प्रीफिक्स
CHAR(n)निश्चित लंबाई के लिए उपयोग करें,VARCHAR(n)परिवर्तनीय लंबाई के लिए- MySQL 5.0.3 से पहले VARCHAR अधिकतम 255 था
सर्वोत्तम अभ्यास: अपेक्षित अधिकतम लंबाई के आधार पर उचित आकार चुनें, अनावश्यक रूप से बड़ा आकार न दें।