【发布时间】:2016-10-18 06:41:54
【问题描述】:
我为一个表创建了一个播种器,我尝试插入的第一条记录的 ID=0。 ID 是一个自动增量字段,当它被插入时,我检查它的 ID,它是 1 而不是 0,所以当我尝试创建 ID 为 1 的记录时,播种器会在下一行中断。
如何插入多条记录,其中第一条的 ID 为 0?
这是我的代码:
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'));
【问题讨论】:
-
(1) 你为什么不让自动增量来完成它的工作? (2) 您应该能够将第一条记录更新为 0。 (3) 根据过去的经验,我会避免在自动增量字段中使用 0; MySQL 维护例程将自动增量字段中的值 0 视为需要“修复”的内容。
-
@Jackowski 该建议似乎不起作用。我尝试使用值为 0 的 alter table 选项运行同样的错误
-
@Uueerdo 谢谢你的建议,我后来更新了行!
标签: php mysql laravel-5 laravel-seeding