Как добавить внешний ключ (MySQL)

я чрезвычайно новичок в SQL, и яЯ пытаюсь выполнить простой ALTER TABLE, чтобы создать новый столбец и использовать его в качестве внешнего ключа для ссылки на другую простую таблицу в моей базе данных. Я'изменил обе таблицы, чтобы быть InnoDB

Однако при выполнении кода ALTER TABLE я получаю следующую ошибку:

Error   1452    Cannot add or update a child row: 
a foreign key constraint fails (`toys`., CONSTRAINT 
`#sql-6d4_6_ibfk_1` FOREIGN KEY (`toy_id`) REFERENCES `toys` (`toy_id`))    

Ниже приведены описания обеих таблиц:

Таблица 1:

FIELD       TYPE     NULL   KEY     EXTRA
toy_id      int(11)  NO     PRI     auto_increment
toy varchar(50) YES         

Таблица 2:

FIELD       TYPE        NULL   KEY     EXTRA
boy_id      int(11)     NO     PRI      auto_increment
boy         varchar(50) YES 

И это запрос ALTER, который я пытался выполнить:

    ALTER TABLE boys
    ADD COLUMN toy_id INT NOT NULL,
    ADD CONSTRAINT toys_toy_id_fk
    FOREIGN KEY(toy_id)
    REFERENCES toys(toy_id);

Я огляделся, пытаясь понять это, но безуспешно. Заранее спасибо, и, пожалуйста, будьте добры к этому новичку :)

РЕДАКТИРОВАТЬ:

Вот SHOW CREATE TABLE для обеих таблиц:

ТАБЛИЦА 1:

    CREATE TABLE `toys` (
      `toy_id` int(11) NOT NULL AUTO_INCREMENT,
      `toy` varchar(50) DEFAULT NULL,
      PRIMARY KEY (`toy_id`)
    ) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8

ТАБЛИЦА 2:

    CREATE TABLE `boys` (
      `boy_id` int(11) NOT NULL AUTO_INCREMENT,
      `boy` varchar(50) DEFAULT NULL,
      PRIMARY KEY (`boy_id`)
    ) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8

Ответы на вопрос(1)

Ваш ответ на вопрос