हमारे पास दो प्रकार के MYSQL जेनरेट किए गए कॉलम इस प्रकार हैं -
वर्चुअल जेनरेटेड कॉलम
जैसा कि नाम से पता चलता है, इस प्रकार का उत्पन्न कॉलम कोई डिस्क स्थान नहीं लेगा। इसे 'वर्चुअल' कीवर्ड के साथ या उसके बिना उत्पन्न किया जा सकता है। इसे समझने के लिए हम इसे निम्नलिखित उदाहरण में दिखा रहे हैं -
उदाहरण
mysql> Create table triangle(SideA DOUBLE, SideB DOUBLE, SideC DOUBLE AS (SQRT(SideA * SideB + 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)
उपरोक्त विवरण से पता चलता है कि कॉलम साइडसी एक वस्तुतः उत्पन्न कॉलम है।
संग्रहीत जनित स्तंभ
जैसा कि नाम से पता चलता है, इस प्रकार का उत्पन्न कॉलम डिस्क स्थान लेगा। इसे 'संग्रहीत' कीवर्ड का उपयोग करके उत्पन्न किया जा सकता है। इसे समझने के लिए हम इसे निम्नलिखित उदाहरण में दिखा रहे हैं -
उदाहरण
mysql> Create table triangle_stored(SideA DOUBLE, SideB DOUBLE, SideC DOUBLE AS (SQRT(SideA * SideB + 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)
उपरोक्त विवरण से पता चलता है कि कॉलम साइडसी एक संग्रहित जेनरेट किया गया कॉलम है।