我们可以在 Laravel 迁移中的单个 DB::statement("Query 1; Query 2") 中使用多个 SQL 查询吗?
Posted
技术标签:
【中文标题】我们可以在 Laravel 迁移中的单个 DB::statement("Query 1; Query 2") 中使用多个 SQL 查询吗?【英文标题】:Can we use multiple SQL queries in single DB::statement("Query 1; Query 2") in Laravel migration? 【发布时间】:2021-10-13 23:07:06 【问题描述】:我正在尝试执行 Laravel 迁移。我在单个 DB::statement() 中有多个 SQL 查询。是否可以执行多个用分号分隔的 SQL 查询?
【问题讨论】:
DB::unprepared()
应该可以解决问题。
【参考方案1】:
可以的
DB::table('name')->insert(['id'=>1, 'var1'=> 'N18.1', 'var2'=>'CKD'],
['id'=>2, 'var1'=> 'N181', 'var2'=>'CKD'],
这是一个例子
【讨论】:
【参考方案2】:您可以按照文档here 中的说明使用数据库事务
DB::transaction(function ()
DB::update(// Your Query);
DB::delete(// Your Query);
);
【讨论】:
以上是关于我们可以在 Laravel 迁移中的单个 DB::statement("Query 1; Query 2") 中使用多个 SQL 查询吗?的主要内容,如果未能解决你的问题,请参考以下文章
在 Laravel 4 中通过迁移脚本创建 MySQL 视图
在 Laravel 7.x 中从 DB::select 获取单个值
仅在 Laravel 中使用单个命令创建模型和迁移? [关闭]