MySQL 8.0 और नए संस्करणों में TYPE कीवर्ड को ENGINE से बदल दिया गया है। यदि आप पुराने सिंटैक्स TYPE=MyISAM का उपयोग करते हैं, तो आपको Error 1064 मिलेगा।
त्रुटि का उदाहरण
mysql> CREATE TABLE DemoTable1836 (
ClientId INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
ClientName VARCHAR(20)
) TYPE=MyISAM AUTO_INCREMENT=1;
ERROR 1064 (42000): You have an error in your SQL syntax near 'Type=MyISAM AUTO_INCREMENT=1' at line 5
सही सिंटैक्स (MySQL 8.0+)
TYPE के स्थान पर ENGINE का उपयोग करें:
mysql> CREATE TABLE DemoTable1836 (
ClientId INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
ClientName VARCHAR(20)
) ENGINE=MyISAM AUTO_INCREMENT=1;
Query OK, 0 rows affected (0.00 sec)
डेटा डालकर जांचें
mysql> INSERT INTO DemoTable1836(ClientName) VALUES('Chris');
mysql> INSERT INTO DemoTable1836(ClientName) VALUES('David');
mysql> INSERT INTO DemoTable1836(ClientName) VALUES('Mike');
mysql> INSERT INTO DemoTable1836(ClientName) VALUES('Sam');
mysql> SELECT * FROM DemoTable1836;
आउटपुट:
+----------+------------+ | ClientId | ClientName | +----------+------------+ | 1 | Chris | | 2 | David | | 3 | Mike | | 4 | Sam | +----------+------------+
महत्वपूर्ण नोट्स
- MySQL 5.5 तक
TYPEसमर्थित था, लेकिन 5.6 में deprecated और 8.0 में हटा दिया गया। - हमेशा
ENGINE=InnoDB(डिफ़ॉल्ट) याENGINE=MyISAMलिखें। - पुराने कोड को माइग्रेट करते समय सभी
TYPE=कोENGINE=में बदलें।