you have your key set in such a way that it is interfering with the insert.
personally, I dont add foreign key's directly in the database table. I use the foreign concept in my application development and program the application to create the relationships between the tables.