gpt4 book ai didi

mysql - Laravel 迁移语法错误或访问冲突 1064

转载 作者:可可西里 更新时间:2023-11-01 06:55:17 25 4
gpt4 key购买 nike

当我运行迁移以创建外键约束时,我在命令提示符中收到以下错误。我需要帮助来克服它,因为我在互联网上搜索了很多并尝试了各种方法,但不幸的是没有一个有效

在 Connection.php 第 647 行:

SQLSTATE[42000]:语法错误或访问冲突:1064 你有一个错误我 n 你的 SQL 语法;查看与您的 MariaDB 服务器对应的手册 在第 1 行 ( SQL: alter table category_posts 添加约束 category_posts_post_id_fo
reign
外键 (post_id) 引用 posts () on delete cascade)

在 Connection.php 第 445 行:

SQLSTATE[42000]:语法错误或访问冲突:1064 你有一个错误我 n 你的 SQL 语法;查看与您的 MariaDB 服务器对应的手册 在第 1 行的“) 上删除级联”附近使用正确语法的版本

我的外键约束迁移代码如下

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

class CreateCategoryPostsTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('category_posts', function (Blueprint $table) {
$table->integer('category_id')->unsigned()->index();
$table->integer('post_id')->unsigned()->index();
$table->foreign('post_id')->referances('id')->on('posts')->onDelete('cascade');
$table->timestamps();
});
}

/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('category_posts');
}
}

请帮帮我。谢谢

最佳答案

你只是拼错了references

$table->foreign('post_id')->referances('id')->on('posts')->onDelete('cascade');

使用references()代替referances()

关于mysql - Laravel 迁移语法错误或访问冲突 1064,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48335612/

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