انتقل إلى محتوى الدرس

Computed Generated Columns الأعمدة المولدة GENERATED AS

تعلّم تصميم مخطط قاعدة بيانات علائقية متكامل والأعمدة المولدة في MySQL بأسلوب MySQL 8 الحديث مع أمثلة استعلامات SQL وتطبيقات تفاعلية.
1 صفوف تعليمية
MySQL
7 مشاهدة

شرح صفوف ومحتوى الفقرة

الصف 1 شرح توضيحي

يدعم MySQL 8 ميزة هندسية قوية جداً هي الأعمدة المولدة تلقائياً (Generated Columns)، وهي أعمدة تُحسب قيمتها آلياً بواسطة معادلة تعتمد على أعمدة أخرى داخل نفس الصف:

  • الصيغة القياسية: col_name type GENERATED ALWAYS AS (expr) [VIRTUAL | STORED].
  • اتساق حسابي مضمون بنسبة 100%: لا تُمرر قيم الأعمدة المولدة يدوياً في جمل INSERT أو UPDATE؛ بل يتولى المحرك حسابها وتحديثها تلقائياً كلما تغيرت الأعمدة الداخلة في معادلتها.
SQL
CREATE TABLE store_order_items (
  order_id INT UNSIGNED NOT NULL,
  product_id INT UNSIGNED NOT NULL,
  qty SMALLINT UNSIGNED NOT NULL DEFAULT 1,
  unit_price DECIMAL(10, 2) NOT NULL,
  line_total DECIMAL(12, 2)
    GENERATED ALWAYS AS (qty * unit_price) VIRTUAL,
  PRIMARY KEY (order_id, product_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;