【发布时间】:2017-11-24 02:06:25
【问题描述】:
我有一个已经创建外键约束的表:
$table->foreign('cms_id')->references('id')->on('inventories');
我需要更改此外键,使其引用remote_id 而不是inventories 表中的id 列。
我已经尝试过这样做:
public function up()
{
Schema::table('contents', function (Blueprint $table) {
$table->dropForeign('contents_cms_id_foreign');
$table->foreign('cms_id')->references('remote_id')->on('inventories');
});
}
但是,我明白了:
[照亮\数据库\查询异常]
SQLSTATE[HY000]:一般错误:1215 无法添加外键约束 (SQL : alter tablecontents添加约束contents_cms_id_foreign外键 (cms_id) 引用inventories(remote_id))[PDO异常]
SQLSTATE[HY000]: 一般错误:1215 无法添加外键约束
【问题讨论】:
-
确保
cms_id和remote_id的类型、大小和属性相同(例如UNSIGNED等)。 -
它们属于同一类型,具有相同的属性,但我仍然得到相同的错误
标签: php mysql laravel foreign-keys