我正在尝试使用以下原始查询为postgres数据库中的主键设置初始值。
// Alter sequence
DB::raw("alter sequence orders_id_seq restart with 10000");
//create order
Order::create([
'name' => "Hello Order",
]);
但是订单ID仅从1
开始,而不是10000
然后,我通过Datagrip在数据库控制台中执行了相同的SQL查询。瞧,行得通。新的数据库记录在适当的地方编号。我想知道为什么当我使用DB::raw()
时它不起作用吗?
对于laravel应用程序和Datagrip(SQL gui工具),我都使用相同的postgres用户凭据。
Postgres-10,Laravel 5.8
答案 0 :(得分:0)
DB::raw
不会执行查询。
您应该将其添加到DB::update
中,如下所示:
DB::update(DB::raw("alter sequence orders_id_seq restart with 10000"));