Php Laravel 5.1如何通过迁移创建MySQL存储过程

Php Laravel 5.1如何通过迁移创建MySQL存储过程,php,mysql,stored-procedures,laravel-5.1,laravel-migrations,Php,Mysql,Stored Procedures,Laravel 5.1,Laravel Migrations,您好,我正在尝试使用Laravel5.1迁移创建一个存储过程。到目前为止,我尝试了DB::connection()->getPdo()->exec()、DB::raw()和DB::unprepared(),但没有成功。下面是我的代码的样子: 请帮忙!谢谢 到目前为止,我在迁移过程中就是这样做的。。。 我相信我在设置分隔符时遇到了一些问题,所以我删除了它们,并对每个语句使用了不同的unprepared() $procedure = " CREATE PROCEDURE `procedur

您好,我正在尝试使用Laravel5.1迁移创建一个存储过程。到目前为止,我尝试了DB::connection()->getPdo()->exec()、DB::raw()和DB::unprepared(),但没有成功。下面是我的代码的样子:


请帮忙!谢谢

到目前为止,我在迁移过程中就是这样做的。。。 我相信我在设置分隔符时遇到了一些问题,所以我删除了它们,并对每个语句使用了不同的
unprepared()

$procedure = "
    CREATE PROCEDURE `procedure_name`(procedure_param_1 TEXT, procedure_param_2 TEXT)
    BEGIN
         // Your SP here
    END
";

DB::unprepared("DROP procedure IF EXISTS procedure_name");
DB::unprepared($procedure);

这似乎是相关的:

我批准第一个回复,因为它给了我解决问题的方法。acm的建议实际上是正确的。此外,在我的例子中,
分隔符子句导致问题,并阻止迁移成功执行。我所做的是删除了
分隔符
并使用了
DB::unprepared
方法,其中的实际函数定义使用标准分隔符。现在可以用了。为了正常工作,代码应该是这样的:@acm,我可以运行create过程和runby on DB语句吗
$procedure = "
    CREATE PROCEDURE `procedure_name`(procedure_param_1 TEXT, procedure_param_2 TEXT)
    BEGIN
         // Your SP here
    END
";

DB::unprepared("DROP procedure IF EXISTS procedure_name");
DB::unprepared($procedure);