1602 Duplicate sql entry error

در این مقاله سعی داریم آموزش رفع رایج ترین ارور یعنی ارور 1602 Duplicate sql entry error که در هنگام آپدیت جوملا به ورژن 3.6 رخ میدهد را ارائه دهیم. برای رفع این مشکل اسکریپتی طراحی شده است که این ارور را برای شما رفع کرده و دیگر خطایی را مشاهده نخواهید کرد. این اسکریپت بر روی بیش از 80 سایت جوملا که این ارور را داشتند تست شده و روی همه این سایتها مشکل حل شده است.

erro occurred

کد خطا این است:

1062 Duplicate entry '802' for key 'PRIMARY' SQL=INSERT INTO `#__extensions` (`extension_id`, `name`, `type`, `element`, `folder`, `client_id`, `enabled`, `access`, `protected`, `manifest_cache`, `params`, `custom_data`, `system_data`, `checked_out`, `checked_out_time`, `ordering`, `state`) VALUES (802, 'English (United Kingdom)', 'package', 'pkg_en-GB', '', 0, 1, 1, 1, '', '', '', '', 0, '0000-00-00 00:00:00', 0, 0);

چه اتفاقی افتاده؟

یکی از پلاگین های شمااز آی دی 82 استفاده میکند که این آی دی متعلق به پلاگین های هسته اصلی جوملا است. به دلایلی SQL AUTO_INCREMENT 10000 در جدول #__extensions درست کار نمیکند. همه آی دی های زیر 10000 برای جوملا رزرو شده اند و پلاگین های نصب شده نباید از آی دی زیر 10000 استفاده کنند.

چگونه مشکل را حل کنیم؟

اسکریپتی که ما طراحی کردیم براحتی این مشکل را حل میکند ولی حتما قبل از اینکه از اسکریپت استفاده نمایید از سایت خود بک آپ بگیرید.

مراحل قدم به قدم رفع ارور 1602 Duplicate sql entry error:

1) از سایت بک آپ بگیرید.

2) اسکریپت حل مشکل را دانلود نمایید.

3) بسته را روی کامپیوتر خود unzip نمایید (بسته را از طریق جوملا نصب نکنید).

4) فایل jmdbfix.php را روی هاست خود در پوشه اصلی public_html آپلود نمایید.

5) اکنون شما قادر خواهید بود تا به آدرس http://yourdomain.com/jmdbfix.php دسترسی پیدا نمایید.

دقت نماییداستفاده نادرست از اسکریپت ممکن است سایت شما را خراب نماید.

 table 1

در این صفحه شما جدول بزرگی با پلاگین هایی که روی جوملا نصب شده است را مشاهده میکنید.

جدول های با رنگ قرمز متعلق به هسته اصلی جوملا هستند که نباید به آنها دست بزنید.

جدول های سبز رنگ جدول هایی هستند که شما باید نگاهی به آنها بیاندازید. جدول extension_iD را پیدا کنید و یک به یک چک نمایید.

 

table 2

همانطور که در تصویر میبیند آی دی 802 پلاگین FOF NEW است که باعث مشکل شده. البته این آی دی ممکن است توسط پلاگین دیگری استفاده شود و این تصویر فقط یک نمونه است.

6) حال نوبت درست کردن مشکل است و تنها کافیست تا دکمه MOVE روبروی جدول را کلیک نمایید.

دقت نمایید که فقط دکمه MOVE جدول سبز رنگ را بزنید و به سایر جداول کاری نداشته باشید. تابع به صورت خودکار آی دی را به بالای 9999 افزایش میدهد.

شما باید این کار را برای سایر جداول سبز هم تکرار نمایید.

پس از آن جدول شما باید به شکل زیر در بیاید:

 

table 3

 

این درست است و الان فقط جداول جوملا لیست شده اند و این یعنی سایر پلاگین ها آی دی درستی دارند.

الان تنها کاری که باید انجام دهید حذف فایل 'jmdbfix.php' از هاست و آپدیت یا آپدیت مجدد جوملا است.

هنوز ارور را میبیند؟

still error

1062 Duplicate entry '453' for key 'PRIMARY' SQL=INSERT INTO `#__extensions` (`extension_id`, `name`, `type`, `element`, `folder`, `client_id`, `enabled`, `access`, `protected`, `manifest_cache`, `params`, `custom_data`, `system_data`, `checked_out`, `checked_out_time`, `ordering`, `state`) VALUES (453, 'plg_editors-xtd_module', 'plugin', 'module', 'editors-xtd', 0, 1, 1, 0, '', '', '', '', 0, '0000-00-00 00:00:00', 0, 0);

یادتان باشد که باید قبل از آپدیت جوملا یا نصب مجدد جوملا دیتابیس را تعمیر نمایید.

در مدیریت جوملا از منوی Extension  یا همان (افزونه ها) گزینه Manage یا مدیریت را بزنید و در صفحه جدید دیتابیس و بعد Fix Database یا تعمیر دیتابیس را کلیک نمایید.

error solved

حالا می توانید جوملا را بدون ارور آپدیت نمایید.

امتیاز کاربران

ستاره غیر فعالستاره غیر فعالستاره غیر فعالستاره غیر فعالستاره غیر فعال
 

نمادهای اعتماد به بهسازان هاست

بهسازان هاست جزو معدود وب سایتهای هاستینگ و طراحی وب سایت کشور می باشد که دارای مجوز فعالیت به شماره 1/3/402389از وزارت فرهنگ و ارشاد اسلامی می باشد.

نماد اعتماد الکترونیکی
ستاد ساماندهی