gpt4 book ai didi

php - Laravel 上的 mysql SQLSTATE[23000] 错误

转载 作者:行者123 更新时间:2023-11-29 12:44:16 25 4
gpt4 key购买 nike

我正在使用 laravel 架构生成器,这是我的代码...

    //create links table
Schema::create('links', function($table){
$table->increments('id');
$table->unsignedInteger('user_id');
$table->unsignedInteger('domain_id');
$table->string('url');
$table->softDeletes();
$table->timestamps();
});
Schema::table('links', function($table) {
$table->index('user_id');
$table->foreign('user_id')->references('id')->on('users')->onDelete('cascade')->onUpdate('cascade');
$table->index('domain_id');
$table->foreign('domain_id')->references('id')->on('domains')->onDelete('cascade')->onUpdate('cascade');
});
}

但是我尝试将一些内容保存到该表中,但它抛出以下错误...

SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails (`we`.`links`, CONSTRAINT `links_user_id_foreign` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE ON UPDATE CASCADE) (SQL: insert into `links` (`updated_at`, `created_at`) values (2014-09-04 17:35:53, 2014-09-04 17:35:53)) 

如果您需要更多信息来更好地理解这一点,请提出建议,帮助我解决这个问题。

谢谢

最佳答案

如果 SQL 语句可信,则应用程序仅插入时间戳字段(updated_at、created_at)。您至少需要为查询指定一个现有的 user_id。如果在某些情况下您可以在不关联用户的情况下插入 links,则需要更新 links 表,以便 links.user_id 允许使用 null 值。您无法通过架构管理器更新现有表上的列以接受空值,您需要通过手动查询来完成此操作。

关于php - Laravel 上的 mysql SQLSTATE[23000] 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25672236/

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