簡體   English   中英

添加外鍵時出錯

[英]Error when adding foreign key

我有一個名為movies的表,其中的字段id為主鍵,還有兩個varchars: titlegenre

我創建了一個新的命名表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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM