2016-06-16 6 views
0

테이블의 시드를 작성했으며 삽입하려는 첫 번째 레코드에 ID = 0이 있습니다. ID는 자동 증가 필드이며 삽입 될 때 ID를 확인하고 0 대신 1이되므로 ID 1 인 레코드를 만들 때 시드가 다음 줄에서 끊어집니다.자동 증분 필드가 0 인 시드 테이블

첫 번째 ID가 0 인 여러 레코드를 삽입하려면 어떻게해야합니까? 이 삽입 된 후에 내가 행을 업데이트 Uueerdo의 제안이 일 덕분에 얻을 수 있었다

DB::table('payment_status')->delete(); 
DB::table('payment_status')->insert(array('id' => '0', 'name' => 'Initial')); 
DB::table('payment_status')->insert(array('id' => '1', 'name' => 'Payment successful, Waiting for Processing')); 
+0

(1

는 내가 가지고있는 코드입니다) 왜 당신은 자동 증가가 그 일을하게하지 않았습니까? (2) 첫 번째 레코드를 0으로 업데이트 할 수 있어야합니다. (3) 과거의 경험을 통해 자동 증가 필드에서 0을 피합니다. MySQL 유지 보수 루틴은 자동 증가 필드에서 0 값이 "고정"이 필요한 것으로 간주합니다. – Uueerdo

+0

http://stackoverflow.com/questions/27000239/how-to-set-auto-increment-in-laravel-with-eloquent – Jackowski

+0

@ Jackowski는 제안이 작동하지 않는 것 같습니다. 그 값을 0으로 변경하고 같은 에러가 발생하면 같은 오류가 발생합니다. – BlunT

답변

0

:

DB::table('payment_status')->delete(); 
DB::table('payment_status')->insert(array('id' => '0', 'name' => 'Initial')); 
// id zero does not work 
DB::unprepared("UPDATE payment_status SET id=0"); 
DB::table('payment_status')->insert(array('id' => '1', 'name' => 'Payment successful, Waiting for Processing'));