[英]Error when adding foreign key
我有一個名為movies
的表,其中的字段id
為主鍵,還有兩個varchars: title
和genre
。
我創建了一個新的命名表genres
與整型字段id
作為主鍵和desription
VARCHAR。 我更改了movies
表中的字段genre
,因此可以創建引用該類型的外鍵。
但是,Mysql Workbench表示創建外鍵時出現錯誤。
聲明如下:
ALTER TABLE `managemovies`.`movies`
ADD CONSTRAINT `genre_reference`
FOREIGN KEY (`genre` )
REFERENCES `managemovies`.`genres` (`id` )
ON DELETE NO ACTION
ON UPDATE NO ACTION
, ADD INDEX `genre_reference_idx` (`genero` ASC) ;
錯誤:
ERROR 1452: Cannot add or update a child row: a foreign key constraint fails (`managemovies`.`#sql-3ba_2b`, CONSTRAINT `genre_reference` FOREIGN KEY (`genre`) REFERENCES `genres` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION)
SQL語句:[...與上述語句相同...]錯誤:運行故障回復腳本時出錯。 詳細信息如下。
ERROR 1046: No database selected
SQL Statement:
CREATE TABLE `movies` [...]
[... the errors above repeated again ...]
清除表內容,然后嘗試添加外鍵。
如果您的表包含與外鍵字段值不匹配的數據,您將看到此錯誤...
看起來您的桌movies
在genre列中包含數據,而genres.id列中沒有數據。
刪除無效數據后,您的語句應起作用。
希望能幫助到你
Vishad
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.