"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > هل يمكن أن توجد أعمدة الزيادة التلقائية دون أن تكون المفتاح الأساسي في MySQL؟

هل يمكن أن توجد أعمدة الزيادة التلقائية دون أن تكون المفتاح الأساسي في MySQL؟

تم النشر بتاريخ 2024-11-04
تصفح:109

Can Auto-Increment Columns Exist Without Being the Primary Key in MySQL?

معالجة خطأ تعريف الجدول غير الصحيح: موازنة الزيادة التلقائية والمفتاح الأساسي

يتضمن السيناريو جدول MySQL حيث يعمل عمود المعرف كحقل زيادة تلقائية للمرئيات الراحة، بينما يعمل عمود memberid كمفتاح فريد فعلي. ومع ذلك، فإن محاولة تعريف الجدول باستخدام المفتاح الأساسي (معرف العضو) تؤدي إلى خطأ (1075) يفيد بأنه لا يمكن أن يكون هناك سوى عمود تلقائي واحد ويجب أن يكون مفتاحًا.

حل الخطأ: الحفاظ على الزيادة التلقائية والمفتاح الفريد

لحل المشكلة، من الممكن أن يكون لديك عمود متزايد تلقائيًا ليس هو المفتاح الأساسي، بشرط تحديد فهرس (مفتاح) عليه. إليك تعريف الجدول المعدل:

CREATE TABLE members (
  id int(11) UNSIGNED NOT NULL AUTO_INCREMENT,
  memberid VARCHAR(30) NOT NULL,
  `time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
  firstname VARCHAR(50) NULL,
  lastname VARCHAR(50) NULL,
  PRIMARY KEY (memberid),
  KEY (id)                          # or: UNIQUE KEY (id)
) ENGINE = MYISAM;

من خلال إضافة مفتاح أو فهرس مفتاح فريد في عمود المعرف، يتم الحفاظ على وظيفة الزيادة التلقائية بينما يصبح عمود معرف العضو هو المفتاح الأساسي، مما يسمح باستعلامات فعالة بناءً على قيمة معرف العضو.

اختيار النهج الأمثل: الموازنة بين الأداء والمساحة

يعتمد الاختيار الأفضل على الأهمية النسبية للأداء ومساحة القرص. إذا كان الأداء أمرًا بالغ الأهمية، فإن الحفاظ على عمود المعرف المتزايد تلقائيًا واستخدام فهرس على معرف العضو يوفر التوازن:

  • يوفر المعرف المتزايد تلقائيًا فرزًا فعالاً واستعلامات النطاق.
  • يضمن الفهرس الموجود على معرف العضو إجراء عمليات بحث سريعة باستخدام معرف العضو الفريد.

ومع ذلك، إذا كانت مساحة القرص مصدر قلق كبير، ففكر في إزالة عمود المعرف تمامًا والاعتماد على عمود معرف العضو باعتباره المفتاح الأساسي والتلقائي. - مجال متزايد. يضحي هذا النهج ببعض الأداء من أجل تحسين استخدام المساحة. في النهاية، يعتمد الاختيار بين الأداء والمساحة على المتطلبات المحددة للتطبيق.

أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3