پرش به محتوا

حل مشکل invalid default value for created_at در لاراول

در ادامه طرح سوالات ابتدایی لاراول ، این پست رو منتشر میکنم 🙂

توی اولین مرحله که میخواید مایگریشن های لاراولیتونو ران کنید به این اررور احتمال داره بخورید :

 [Illuminate\Database\QueryException]
  SQLSTATE[42000]: Syntax error or access violation: 1067 Invalid default value for 'created_at' (SQL: create table `
  users` (`id` int unsigned not null auto_increment primary key, `name` varchar(255) not null, `email` varchar(255) n
  ot null, `password` varchar(60) not null, `remember_token` varchar(100) null, `created_at` timestamp default 0 not
  null, `updated_at` timestamp default 0 not null) default character set utf8 collate utf8_unicode_ci)

این خطا بخاطر اینه که مای اس کیو ال شما مقدار صفر رو بعنوان مقدار پیشفرض تاریخ قبول نمیکنه . احتمالا شما NO_ZERO_DATE رو توی تنظیمات mysqlتون فعال کردید… اگه با ومپ کار میکنید به پوشه ی (مثلا) C:\wamp64\bin\mysql\mysql5.7.9  برید و فایل my.ini  رو باز کنید و مقادیر NO_ZERO_DATE,NO_ZERO_IN_DATE, رو سرچ بزنید و حذف کنید و mysql رو ریستارت کنید

الان همه چی حله… php artisan migrate  رو برای تست ران کنید.

1 دیدگاه دربارهٔ «حل مشکل invalid default value for created_at در لاراول»

  1. سلام
    من کاری که شما گفتید رو انجام دادم اما مشکل همچنان باقی ست. راه حل دیگری دارید؟
    البته این مشکل برای من بخاطر فیلد created_at نیست و این فیلد تو مایگریت های قبلی به درستی ایجاد شده. بلکه بخاطر ایجاد یه فیلد دیگه ست با این دستور:
    $table->timestamp(‘start’);
    جسارتا کپچای سایتتون نفس گیره. برای من خیلی مهم بود این نظر رو ثبت کنم. قطعا اگر خیلی مهم نبود بی خیال می شدم

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *