محسن مهری
4 سال پیش توسط محسن مهری مطرح شد
3 پاسخ

ارور ارسال اطلاعات به دیتابیس در لاراول

سلام این خط کدم اجرا میشه تمام شهرهارو هم به درستی insert میکنه ولی اخرش یک ارور نشون میده مشکلش چیه؟

$provinces=DB::table('provinces')->insert(array(
            array('name'=>'آذربايجان شرقي','id'=>'1'),
            array('name'=>'آذربايجان غربي','id'=>'2'),
  ));

اروری که نشون میده اینه :

SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '1' for key 'PRIMARY' (SQL: insert into `provinces` (`id`, `name`) values (1, آذربايجان شرقي), (2, آذربايجان غربي))

ثبت پرسش جدید
smart
@smartgarden2016 4 سال پیش مطرح شد
1

سلام. primary_key که معمولا همون id هست رو نباید بصورت دستی بهش بدی. ارور میگه این id که دادی قبلا ثبت شده و چون کلید اصلی هست نمیتونه تکراری باشه. احتمالا قبلا یه رکورد دیگه با id = 1 وجود داشته. id رو بصورت auto_increment بذار.


محسن مهری
تخصص : برنامه نویس back-end با زبان...
@mohsen.mehri6101 4 سال پیش مطرح شد
0

@smartgarden2016
سلام ممنون و تشکر همینطور که گفتید درستم کردم و حل شد اون مشکلم .اما حالا نمیدونم چرا حالت اجرا حلقه رو به خودش گرفته

$provinces=DB::table('provinces')->insert(array(
            array('name'=>'آذربايجان شرقي'),
            array('name'=>'آذربايجان غربي'),
            array('name'=>'اردبيل'),
            array('name'=>'اصفهان'),
            array('name'=>'البرز'),
            array('name'=>'ايلام'),
            array('name'=>'بوشهر'),
            array('name'=>'تهران'),
            array('name'=>'چهارمحال بختياري'),
            array('name'=> 'خراسان جنوبي'),
            array('name'=> 'خراسان رضوي'),
            array('name'=> 'خراسان شمالي'),
            array('name'=> 'خوزستان'),
            array('name'=> 'زنجان'),
            array('name'=> 'سمنان'),
            array('name'=> 'سيستان و بلوچستان'),
            array('name'=> 'فارس'),
            array('name'=> 'قزوين'),
            array('name'=> 'قم'),
            array('name'=> 'كردستان'),
            array('name'=> 'كرمان'),
            array('name'=> 'كرمانشاه'),
            array('name'=> 'كهكيلويه و بويراحمد'),
            array('name'=> 'گلستان'),
            array('name'=> 'گيلان'),
            array('name'=> 'لرستان'),
            array('name'=> 'مازندران'),
            array('name'=> 'مركزي'),
            array('name'=> 'هرمزگان'),
            array('name'=> 'همدان'),
            array('name'=> 'يزد'),
        ));

این خط کد رو بیشتر از هزار بار اجرا میکنه


smart
@smartgarden2016 4 سال پیش مطرح شد
1

سلام. ممنونم.
کد که مشکلی نداره ظاهرا. چک کنید ببینید یه وقت اون routeی که داره این کد رو اجرا میکنه چندین بار اجرا نشه.


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام