كيفية تعويض التواريخ في قاعدة بيانات MySQL بحلول 1 ثانية؟
-
09-09-2019 - |
سؤال
لقد قمت باستيراد مجموعة من الوظائف إلى موقع WordPress الذي يحتوي على نفس التاريخ بالضبط. أرغب في تحرير تواريخ النشر حتى يتم تعويضها من قبل ثانية واحدة.
قلقي هو أنه قد تكون هناك مشكلة في الأداء عندما تكون جميع التواريخ هي نفسها.
أي شخص يعرف طريقة سريعة للحصول على هذا القيام به باستخدام PHPMyAdmin لتحرير قاعدة بيانات MySQL أو طريقة أخرى؟
المحلول
يمكنك ضبطهم جميعا على أن يكونوا "الآن" + معرف.
قد تبدو كذلك؛
UPDATE wp_posts
SET createdDate = DATE_ADD(now(), INTERVAL wp_posts.wp_id SECOND);
نصائح أخرى
قبل الفوضى مع هذا، أقترح عليك أن تتأكد من وجود مشكلة في الأوقات المتزامنة.
غالبا ما أجد أن العبث مع البيانات مثل هذا له عواقب غير مقصودة. وسأفاجأ بشكل معتدل إذا كانت المشكلة مهمة حقا.
يبدو لي أن أرى مقترحات ستضع جميع الصفوف بنفس قيمة الإزاحة.
على افتراض أن لديك مفتاح عدد صحيح بديل، والصفوف مجاورة، يمكنك استخدامها
تحديث الجدول
تعيين mydate = date_add (my_date، معرف الفاصل - الثانية)
حيث معرف بين و؛
UPDATE table SET mydate = DATE_ADD(my_date, INTERVAL 1 SECOND);
SET @r := '2009-04-14';
UPDATE mytable
SET mydate = (@r := @r + INTERVAL 1 SECOND);
أو في استعلام واحد، إذا لم تتمكن من الحفاظ على حالة الجلسة:
UPDATE mytable,
(
SELECT @r := '2009-04-14'
) q
SET mydate = (@r := @r + INTERVAL 1 SECOND)