MySQL जनरेटेड कॉलम के दो प्रकार होते हैं:
VIRTUAL GENERATED COLUMN
जैसा कि नाम से पता चलता है, इस प्रकार का जनरेटेड कॉलम कोई डिस्क स्पेस नहीं लेता। इसे VIRTUAL कीवर्ड के साथ या बिना उपयोग किए बनाया जा सकता है। समझने के लिए निम्नलिखित उदाहरण देखें:
उदाहरण
mysql> Create table triangle(SideA DOUBLE, SideB DOUBLE, SideC DOUBLE AS (SQRT(SideA * SideA + SideB * SideB))); Query OK, 0 rows affected (0.44 sec) mysql> Describe Triangle; +-------+--------+------+-----+---------+-------------------+ | Field | Type | Null | Key | Default | Extra | +-------+--------+------+-----+---------+-------------------+ | SideA | double | YES | | NULL | | | SideB | double | YES | | NULL | | | SideC | double | YES | | NULL | VIRTUAL GENERATED | +-------+--------+------+-----+---------+-------------------+ 3 rows in set (0.00 sec)
उपरोक्त विवरण दर्शाता है कि कॉलम SideC एक वर्चुअली जनरेटेड कॉलम है।
STORED GENERATED COLUMN
जैसा कि नाम से पता चलता है, इस प्रकार का जनरेटेड कॉलम डिस्क स्पेस लेता है। इसे STORED कीवर्ड का उपयोग करके बनाया जा सकता है। समझने के लिए निम्नलिखित उदाहरण देखें:
उदाहरण
mysql> Create table triangle_stored(SideA DOUBLE, SideB DOUBLE, SideC DOUBLE AS (SQRT(SideA * SideA + SideB * SideB)) STORED); Query OK, 0 rows affected (0.47 sec) mysql> Describe triangle_stored; +-------+--------+------+-----+---------+------------------+ | Field | Type | Null | Key | Default | Extra | +-------+--------+------+-----+---------+------------------+ | SideA | double | YES | | NULL | | | SideB | double | YES | | NULL | | | SideC | double | YES | | NULL | STORED GENERATED | +-------+--------+------+-----+---------+------------------+ 3 rows in set (0.00 sec)
उपरोक्त विवरण दर्शाता है कि कॉलम SideC एक स्टोर्ड जनरेटेड कॉलम है।