gpt4 book ai didi

mysql - 制作触发器时出现迁移错误如何解决?

转载 作者:行者123 更新时间:2023-11-29 09:41:04 24 4
gpt4 key购买 nike

我想制作一个触发器。创建 php make:migration AddTrigger 并在 cmd 中编写 php artisan migrate 时编写代码后,出现以下错误:

Symfony\Component\Debug\Exception\FatalThrowableError : syntax error,unexpected 'receiver' (T_STRING), expecting ')' at E:\laravel projectfolder\blood\database\migrations\2019_06_14_173818_add_trigger.php:16

  12|      * @return void
13| */
14| public function up()
15| {
> 16| DB::unprepared('CREATE TRIGGER amount AFTER INSERT ON 'receiver' FOR EACH ROW
17| BEGIN
18| INSERT INTO 'receipt' ('r_id') VALUES (10);
19| END');
20| }

异常跟踪:

1 Illuminate\Filesystem\Filesystem::requireOnce("E:\laravelprojectfolder\blood\database\migrations/2019_06_14_173818_add_trigger.php")E:\laravel project folder\blood\vendor\laravel\framework\src\Illuminate\Database\Migrations\Migrator.php:475

2 Illuminate\Database\Migrations\Migrator::requireFiles()E:\laravel project folder\blood\vendor\laravel\framework\src\Illuminate\Database\Migrations\Migrator.php:105

Please use the argument -v to see more details.

<?php

use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;

class AddTrigger extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
DB::unprepared('CREATE TRIGGER amount AFTER INSERT ON 'receiver' FOR
EACH ROW
BEGIN
INSERT INTO 'receipt' ('r_id') VALUES (10);
END');
}

/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
DB::unprepared('DROP TRIGGER 'amount'');
}
}

我使用了一个名为 PageController 的 Controller ,我在其中使用了插入接收器的函数。

最佳答案

  1. 您忘记添加 DB Facades add use Illuminate\Support\Facades\DB; 到文件中。

  2. 使用DB::raw函数执行原始查询并使用双引号进行查询。

    DB::unprepared(DB::raw("CREATE TRIGGER amount AFTER INSERT ON 'receiver' FOR EACH ROW
    BEGIN
    INSERT INTO 'receipt' ('r_id') VALUES (10);
    END"));

关于mysql - 制作触发器时出现迁移错误如何解决?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56603085/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com