全部產品
Search
文件中心

:雲資料庫RDS MySQL版建立外鍵約束時提示“Cannot add foreign key constraint”錯誤

更新時間:Feb 28, 2024

問題描述

雲資料庫RDS MySQL版是支援外鍵約束的,但在建立外鍵約束時提示如下錯誤。

Cannot add foreign key constraint

問題原因

要關聯的欄位在要關聯的表中不是主鍵。

解決方案

此處以tstudent表和tscore表為例說明如何解決此問題。

  1. 執行如下SQL語句,查看tstudent表結構,判斷要關聯的欄位在要關聯的表中是不是主鍵。

show create table tstudent;

系統顯示類似如下,確認tstudent表沒有主鍵。

image

  1. 執行如下SQL語句,確認tscore表結構正常。

show create table tscore;

系統顯示類似如下。

image

  1. 執行如下SQL語句,為tstudent表添加主鍵。

alter table tstudent add primary key(sno);
  1. 執行如下SQL語句,建立外鍵約束即可成功。

alter table tscore add constraint fk_tscore_sno foreign key(sno) references tstudent(sno);

適用於

雲資料庫RDS MySQL版