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

2 هفته پیش
توسط smart آپدیت شد
محسن مهری ( 9590 تجربه )
2 هفته پیش

سلام این خط کدم اجرا میشه تمام شهرهارو هم به درستی 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 ( 8340 تجربه )
2 هفته پیش

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

محسن مهری ( 9590 تجربه )
2 هفته پیش

@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 ( 8340 تجربه )
2 هفته پیش

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

برای ارسال پاسخ باید وارد سایت شوید