समाधान
GENERATED ALWAYS AS ... VIRTUAL कॉलम का उपयोग करें।
सिंटैक्स
ALTER TABLE yourTableName ADD COLUMN yourColumnName yourDataType GENERATED ALWAYS AS ((col1 + col2 + ... + colN) / N) VIRTUAL;
उदाहरण
टेबल बनाएं:
mysql> CREATE TABLE demo32 (value1 INT, value2 INT); mysql> INSERT INTO demo32 VALUES (30,60), (20,40), (35,35);
वर्चुअल कॉलम जोड़ें
mysql> ALTER TABLE demo32 ADD COLUMN `Average Score` FLOAT
-> GENERATED ALWAYS AS ((value1 + value2) / 2) VIRTUAL;
परिणाम
+--------+--------+---------------+ | value1 | value2 | Average Score | +--------+--------+---------------+ | 30 | 60 | 45 | | 20 | 40 | 30 | | 35 | 35 | 35 | +--------+--------+---------------+
लाभ: वर्चुअल कॉलम डिस्क पर स्टोर नहीं होता, पढ़ने पर गणना होती है। INSERT/UPDATE की आवश्यकता नहीं, हमेशा अद्यतित रहता है।