MySQL में SERIAL डेटा टाइप की परिभाषा
MySQL में SERIAL निम्न के लिए एक एलियास (उपनाम) है:
BIGINT UNSIGNED NOT NULL AUTO_INCREMENT UNIQUE
इसलिए, SERIAL के बाद NOT NULL न लिखें, क्योंकि यह पहले से ही इसकी परिभाषा का हिस्सा है।
आइए एक उदाहरण देखते हैं - "serial" नाम का एक कॉलम बनाते हैं:
mysql> CREATE TABLE DemoTable (
Id SERIAL
);
मान इन्सर्ट करें (हम कोई मान शामिल नहीं कर रहे हैं):
mysql> INSERT INTO DemoTable VALUES (); mysql> INSERT INTO DemoTable VALUES (); mysql> INSERT INTO DemoTable VALUES (); mysql> INSERT INTO DemoTable VALUES (); mysql> INSERT INTO DemoTable VALUES (); mysql> INSERT INTO DemoTable VALUES ();
सभी रिकॉर्ड्स देखें:
mysql> SELECT * FROM DemoTable;
आउटपुट:
+----+ | Id | +----+ | 1 | | 2 | | 3 | | 4 | | 5 | | 6 | +----+
व्याख्या:
- BIGINT: 8-बाइट इंटीजर (-9223372036854775808 से 9223372036854775807)
- UNSIGNED: केवल पॉजिटिव मान (0 से 18446744073709551615)
- NOT NULL: NULL मान अनुमति नहीं
- AUTO_INCREMENT: स्वचालित रूप से क्रमिक मान असाइन करता है
- UNIQUE: सभी मान यूनिक होने चाहिए (प्राइमरी की की तरह)
समान परिभाषा:
CREATE TABLE DemoTable (
Id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT UNIQUE
);
दोनों समान हैं। SERIAL केवल एक सुविधाजनक शॉर्टहैंड है।