خاصية AUTO_INCREMENT في لغة SQL تُستخدم لإنشاء قيم فريدة تلقائيًا لحقل في جدول قاعدة البيانات. غالبًا ما تُستخدم هذه الخاصية مع المفتاح الأساسي (Primary Key) لضمان وجود مُعرّف فريد لكل سجل في الجدول.

وظيفة AUTO_INCREMENT:

عندما تُضيف سجلًا جديدًا إلى جدول يحتوي على حقل مُعرّف كـ AUTO_INCREMENT، يقوم نظام إدارة قواعد البيانات تلقائيًا بتعيين قيمة جديدة لهذا الحقل، عادةً ما تكون رقمًا صحيحًا يزيد بمقدار واحد عن آخر قيمة مُدرجة. هذا يُلغي الحاجة إلى إدخال قيمة المُعرّف يدويًا في كل مرة تُضيف سجلًا جديدًا، ويمنع حدوث أخطاء ناتجة عن تكرار القيم.

كيفية استخدام AUTO_INCREMENT:

يختلف بناء الجملة قليلًا بين أنظمة إدارة قواعد البيانات المختلفة (مثل MySQL، PostgreSQL، SQL Server، إلخ)، ولكن المفهوم الأساسي واحد.

مثال في MySQL:

SQL
CREATE TABLE employees (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(255),
department VARCHAR(255)
);

في هذا المثال:

  • id INT AUTO_INCREMENT PRIMARY KEY: يُعرّف الحقل id كعدد صحيح (INT)، ويُفعّل خاصية الزيادة التلقائية (AUTO_INCREMENT)، ويُحدده كمفتاح أساسي (PRIMARY KEY).

عند إدخال بيانات جديدة في الجدول، لن تحتاج إلى تحديد قيمة id:

SQL
INSERT INTO employees (name, department) VALUES ('أحمد', 'المبيعات');
INSERT INTO employees (name, department) VALUES ('فاطمة', 'التسويق');

سيقوم MySQL تلقائيًا بتعيين القيم 1 و 2 للحقل id على التوالي.

الاختلافات بين أنظمة إدارة قواعد البيانات:

  • MySQL: يستخدم AUTO_INCREMENT.
  • SQL Server: يستخدم IDENTITY(seed, increment)، حيث seed هي القيمة الأولية و increment هي مقدار الزيادة. مثال: id INT IDENTITY(1,1) PRIMARY KEY.
  • PostgreSQL: يستخدم SERIAL أو BIGSERIAL (للأعداد الصحيحة الكبيرة) مع تسلسل (Sequence). مثال: id SERIAL PRIMARY KEY.
  • Oracle: يستخدم تسلسلات (Sequences) مع مُشغّلات (Triggers).

فوائد استخدام AUTO_INCREMENT:

  • ضمان فرادة القيم: يمنع تكرار القيم في الحقل، وهو أمر ضروري للمفاتيح الأساسية.
  • سهولة الاستخدام: يُبسط عملية إدخال البيانات، حيث لا تحتاج إلى إدارة قيم المُعرّفات يدويًا.
  • الكفاءة: يُحسن أداء قواعد البيانات، حيث يتم إنشاء المُعرّفات تلقائيًا بواسطة النظام.

ملاحظات هامة:

  • عادةً ما يُستخدم AUTO_INCREMENT مع حقول الأعداد الصحيحة.
  • يُمكن تحديد قيمة البداية للزيادة التلقائية في بعض أنظمة إدارة قواعد البيانات.
  • عند حذف سجل، لا يتم إعادة استخدام قيمة id المحذوفة افتراضيًا.

باختصار، خاصية AUTO_INCREMENT أداة قوية لتسهيل إدارة المُعرّفات الفريدة في جداول قواعد البيانات، وتُعتبر من أفضل الممارسات عند تصميم قواعد البيانات.