لقد أنشأت أطنانًا من المحتوى الوهمي للاختبار ، ثم حذفتها جميعًا. نظرًا لأن nid هو زيادة تلقائية ، فإن العقدة التي تم إنشاؤها حديثًا سيكون لها nid لآخر رقم تم إنشاؤه +1.
كيف يمكنني البدء من 1 مرة أخرى؟
لا تقطع Plase جدول العقدة بهذه الطريقة ، فهناك بعض الجداول الأخرى المتصلة بجدول العقدة ، مثل node_revisions ، والتسلسلات ، وجداول الحقول ، وجداول التصنيف ، وغيرها الكثير.
لا توجد طريقة آمنة للقيام بذلك ، هذا يعتمد حقًا على موقعك ، سيكون عليك اقتطاع وتعديل جميع الجداول التي لها رقم بما في ذلك جدول التسلسل. تذكر أنه من المحتمل جدًا أن يصبح موقعك غير قابل للاستخدام ، لذلك لا تبدأ بدون نسخة احتياطية أولاً.
ALTER TABLE `node` AUTO_INCREMENT = 1;
ملاحظة - الآخرون الذين ردوا على هذا السؤال: لقد أجريت فحصًا صغيرًا بعد حذف المحتوى وتم حذف المحتوى المرتبط به بالفعل ، و node_revisions وجداول field_ * فارغة. يقول node_delete نفس الشيء --- http://api.drupal.org/api/drupal/modules--node--node.module/function/node_delete_multiple/7
في بعض الأحيان في مشاريع الترحيل عندما تقوم بالترحيل من أنظمة أساسية أخرى (على سبيل المثال ASP + MSSQL) ، يصبح من غير الممكن في بعض الأحيان إعادة تعيين الرقم بسبب عوامل كثيرة. أنا متأكد من أنه يمكن تجنبه ولكن الوقت/رمز المفاضلة موجود دائما.
استعلام SQL: ALTER TABLE 'node' AUTO_INCREMENT=1;
تأكد من حذف جميع العقد قبل القيام بذلك.
يمكنك استخدام الوحدة حذف الكل مع أوامر الحفر التالية:
دروبال 7
حذف العقد من جميع الأنواع وإعادة تعيين عدادات العقدة والمراجعة والتعليق.
drush delete-all --reset
دروبال 8
حذف كافة المحتويات بجميع أنواعها.
drush delete-all-delete-content
وثم:
ALTER TABLE `node` AUTO_INCREMENT=1;
ALTER TABLE `node_revision` AUTO_INCREMENT=1;
ALTER TABLE `node_field_data` AUTO_INCREMENT=1;
ALTER TABLE `node_field_revision` AUTO_INCREMENT=1;
يمكنك اقتطاع جدول العقدة ولكن ، انتبه ، يجب اقتطاع جدول الحقول العلائقية ، إذا كنت ترغب فقط في بدء زيادة معرف من 1 يمكنك استخدام
ALTER TABLE `node` AUTO_INCREMENT=1