laravel, 迁移参考表字符串格式在删除级联

如何使用字符串格式在两个表之间建立关系?我收到错误


SQLSTATE[HY000]: 常规错误: 1005 无法创建表 。(错误:150“外键约束格式不正确”)(SQL:更改表在删除级联时添加约束外键 () 引用 ())...ordercustomizesordercustomizesordercustomizes_userorder_id_foreignuserorder_iduserordersorder_number


    Schema::create('ordercustomizes', function (Blueprint $table) {

        $table->engine = 'InnoDB';

        $table->increments('id');

        $table->string('userorder_id');

        $table->integer('product_id')->unsigned();

        $table->integer('customizetitle_id')->unsigned();

        $table->integer('customizeproduct_id')->unsigned();

        $table->timestamps();


            $table->foreign('userorder_id')

            ->references('order_number')

            ->on('userorders')

            ->onDelete('cascade');

主表:


   Schema::create('userorders', function (Blueprint $table) {

        $table->engine = 'InnoDB';

        $table->increments('id');

        $table->integer('product_id')->unsigned();

        $table->integer('storeinfo_id')->unsigned();

        $table->integer('user_id')->unsigned();

         $table->string('order_number');          


炎炎设计
浏览 88回答 1
1回答

鸿蒙传说

您需要先为字段(在表中)创建索引。order_numberuserorders您可以在创建表时使用:或者您可以更改现有表,然后使用以下命令创建新索引:$table->string('order_number')->index();$table->index('order_number');
打开App,查看更多内容
随时随地看视频慕课网APP