Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

कॉलम की गणना दूसरे कॉलम से की जाती है?

जेनरेटेड कॉलम MySQL संस्करण के लिए एक अच्छा तरीका है जो 5.7.6 और ऊपर है।

जेनरेट किए गए कॉलम दो प्रकार के होते हैं:

  • वर्चुअल (डिफ़ॉल्ट) - कॉलम की गणना फ्लाई पर की जाएगी जब एकॉर्ड को तालिका से पढ़ा जाता है
  • संग्रहीत - कॉलम की गणना तब की जाएगी जब तालिका में नया रिकॉर्ड लिखा/अपडेट किया जाएगा

दोनों प्रकारों में NOT NULL प्रतिबंध हो सकते हैं, लेकिन केवल एक संग्रहित जेनरेटेड कॉलम ही एक इंडेक्स का हिस्सा हो सकता है।

वर्तमान मामले के लिए, हम संग्रहित जेनरेट किए गए कॉलम का उपयोग करने जा रहे हैं। लागू करने के लिए मैंने माना है कि गणना के लिए आवश्यक दोनों मान तालिका में मौजूद हैं

CREATE TABLE order_details (price DOUBLE, quantity INT, amount DOUBLE AS (price * quantity));

INSERT INTO order_details (price, quantity) VALUES(100,1),(300,4),(60,8);

राशि स्वचालित रूप से तालिका में पॉप अप हो जाएगी और आप इसे सीधे एक्सेस कर सकते हैं, कृपया ध्यान दें कि जब भी आप किसी भी कॉलम को अपडेट करेंगे, तो राशि भी अपडेट हो जाएगी।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. 60 मिलियन प्रविष्टियाँ, एक निश्चित महीने से प्रविष्टियाँ चुनें। डेटाबेस का अनुकूलन कैसे करें?

  2. MySQL में डेटाटाइम फ़ील्ड में NULL मान कैसे स्टोर करें?

  3. GROUP_CONCAT () MySQL में फंक्शन

  4. अपलोड की गई फ़ाइल को निर्देशिका में सहेजने से पहले उसका नाम कैसे बदलें?

  5. लेफ्ट जॉइन केवल पहली पंक्ति