Hi;

mysql> alter table Flights type=InnoDB;
Query OK, 1 row affected, 1 warning (0.01 sec)
Records: 1  Duplicates: 0  Warnings: 0

mysql> alter table Flights add pilot_id int not null;
Query OK, 1 row affected (0.01 sec)
Records: 1  Duplicates: 0  Warnings: 0

mysql> alter table Flights add foreign key (pilot_id) references Pilots
(id);
ERROR 1452 (23000): Cannot add or update a child row: a foreign key
constraint fails (`seaflight/#sql-4d89_3ac`, CONSTRAINT
`#sql-4d89_3ac_ibfk_1` FOREIGN KEY (`pilot_id`) REFERENCES `Pilots` (`id`))
mysql> alter table Pilots type=InnoDB;
Query OK, 1 row affected, 1 warning (0.01 sec)
Records: 1  Duplicates: 0  Warnings: 0

mysql> alter table Flights add foreign key (pilot_id) references Pilots
(id);
ERROR 1452 (23000): Cannot add or update a child row: a foreign key
constraint fails (`seaflight/#sql-4d89_3ac`, CONSTRAINT
`#sql-4d89_3ac_ibfk_1` FOREIGN KEY (`pilot_id`) REFERENCES `Pilots` (`id`))
mysql> describe Pilots;
+-------------+-------------+------+-----+---------+----------------+
| Field       | Type        | Null | Key | Default | Extra          |
+-------------+-------------+------+-----+---------+----------------+
| id          | int(11)     | NO   | PRI | NULL    | auto_increment |
| first_name  | varchar(20) | NO   |     | NULL    |                |
| middle_name | varchar(20) | YES  |     | NULL    |                |
| last_name   | varchar(20) | NO   |     | NULL    |                |
| weight      | int(11)     | NO   |     | NULL    |                |
+-------------+-------------+------+-----+---------+----------------+
5 rows in set (0.00 sec)

Please advise how to alter Flights to take the foreign key.
TIA,
Victor

Reply via email to