Can't add foreign key to table - mysql

I have searched other answers and tried them, but no luck. Here is what I get:
Error
SQL query:
ALTER TABLE `watching` ADD FOREIGN KEY ( `anime_Score` )
REFERENCES `anime_15-12-2015`.`score` (`Score_ID`);
MySQL said: Documentation
1452 - Cannot add or update a child row: a foreign key constraint fails (anime_15-12-2015/#sql-fdc_14a, CONSTRAINT
#sql-fdc_14a_ibfk_2 FOREIGN KEY (anime_Score) REFERENCES score
(Score_ID))
Basicly I have a database called anime_15-12-2015 and in that database I have 3 tables: watching, type and score.
I was able to add foreign key to type but no luck with score...
If you need more info, reply what and I'll answer as soon as I can.
Thanx to everyone that tries to help me!

Check in the column 'anime_Score' of Table 'watching' if exist a value which no exist in the Table 'score' (Score_ID).

Related

MySQL Duplicate foreign key constraint name

I am trying to connect following tables, according to this model:
When I add a foreign key first time, say profile_id from PASSENGER_PROFILE is a FK to CREDIT_CARD_DETAILS, that runs fine.
However when I try to do the same to the TICKET_INFO table, I am getting an
ERROR 1826: Duplicate foreign key constraint name
The same thing when I add flight_id as a primary key, it works fine on FLIGHT_DETAILS but same error when I try to add it to the TICKET_INFO table.
All those keys are defined as primary keys in their respective tables (flight_id is PK in FLIGHT table and profile_id is PK in PASSENGER_PROFILE).
So I can't figure out why the MySQL Workbench displays an error as it should be possible to define the same PK as a FK in multiple tables.
Any suggestion appreciated.
You should have posted your create table-.
but in general
CONSTRAINT FK_PersonOrder FOREIGN KEY (PersonID)
REFERENCES Persons(PersonID)
but if i try to add
CONSTRAINT **FK_PersonOrder** FOREIGN KEY (OrderID)
REFERENCES Order(OrderID)
The name FK_PersonOrder is the same, and will cause the error you described
As you didn't post the complete error message, you have to look in youir create tables and eleminate all double names for foerign kegnb, the have to be unique

Does Heidi sql allow you to add more than one foreign key?

I have successfully added my first FK in heidisql using the foreign key tab and adding all the appropriate sections.
I have tried to do the same to my second related column both by using the FK tab and by running a query but I keep getting an error.
SQL Error (1005): Can't create table sprout.#sql-430_3 (errno: 150 "Foreign key constraint is incorrectly formed")
sprout is my db name so I have no idea why it is saying cant create table sprout (because I'm not referencing it in my query).
sql query for my first FK(generated via heidisql):
ALTER TABLE `purchase_history`
ADD CONSTRAINT `bus_id` FOREIGN KEY (`bus_id`) REFERENCES `business` (`bus_id`);
sql query for my second FK(generated via heidisql)
ALTER TABLE `purchase_history`
ADD CONSTRAINT `bus_name_fk` FOREIGN KEY (`bus_name`) REFERENCES `business` (`bus_name`);
sql query I wrote to try and add second FK
Alter table purchase_history
Add constraint bus_name_fk
Foreign key (bus_name)
references business(bus_name);
Can someone help explain to me how my constraint is incorrectly formed? To my understanding I was able to add another constraint to the the table.
This is too long for a comment.
Huh? Why are you adding two foreign constraints to the same table . . . but using different columns? That doesn't really make sense. In general, the foreign key should be referencing the primary key of the other table, which I presume is bus_id.
Then, if you want the business name, you can use a join to get the name.

Error 1005, anyone can tell me what am I getting wrong?

I want to assign foreign key(email) references user(email), but It shows error. I cant figure out what is wrong.
ERROR 1005: Can't create table 'schema.#sql-1bf8_f' (errno: 121)
SQL Statement:
ALTER TABLE `schema`.`vendor_ambassador`
ADD CONSTRAINT `email`
FOREIGN KEY (`email`)
REFERENCES `schema`.`user` (`email`)
ON DELETE NO ACTION
ON UPDATE NO ACTION
I've have the same problem. These were my steps to resolve this problem:
Check if master table are created first.
Check the primary key on the master table are implemented and indexes are created.
Check data type within related column on master and detail table are same.
Ensure that column on foreign key in detail table are not set into primary key.
Check the foreign key or constraint name on other tables within database. The foreign key or constraint name should be unique.
If this doesn't help, check using MySQL Command: Show innodb engine status; to read the problems.
I hope this solves your problem.

How to add foreign key to MySQL table?

I use MySQL with InnoDB engine. I double-checked type of columns. But always have:
Error Code: 1215. Cannot add foreign key constraint
I tried:
ALTER TABLE `mail`.`boxes`
ADD CONSTRAINT FK_id
FOREIGN KEY (id)
REFERENCES `mail`.`users` (id)
ON UPDATE NO ACTION
ON DELETE NO ACTION;
and
ALTER TABLE `mail`.`boxes`
ADD FOREIGN KEY (id)
REFERENCES `mail`.`users` (id)
Nothing works(((
Please, help, what I am doing wrong (except choosing MySQL :-) )?
If table contains data then you are not able to add foreign key you drop table object and recreate
use below reference for the same
Basics of Foreign Keys in MySQL?
To check what exactly the problem is, use:
SHOW ENGINE INNODB STATUS\G
There is section "last foreign key error". Look at: http://dev.mysql.com/doc/refman/5.0/en/innodb-monitors.html
My guess is that data type od mail.boxes (id) and mail.users (id) is not the same. (E.g. smallint in one table and integer in second one).
Data in table on which you're trying to create FK could possibly also be problem (are your mailbox ids the same as id of existing users?)

I get Cannot add or update a child row: a foreign key constraint fails error

I have a table where I keep
id|user_id|subject_id
I have another two table users and subjects.
user_id is a foriegn key and refer the id in users table id column.
I use php admin and I could create the relation.
Same way, I tried to create relation for the subject_id foriegn key.
But I get the following error.
#1452 - Cannot add or update a child row: a foreign key constraint fails (`version2`.<result 2 when explaining filename '#sql-25b4_1e1'>, CONSTRAINT `#sql-25b4_1e1_ibfk_1` FOREIGN KEY (`id`) REFERENCES `wp_cons_table` (`subject_id`))
all tables are ino db and columns have int(5) data type.
I don't know why I get the error.
Can someone figure the reson to this error.
The specific link it's failing on is described at the end of your error:
FOREIGN KEY (`id`) REFERENCES `wp_cons_table` (`subject_id`)
It would be useful to have clearer information about the tables but essentially there are values already in your child table that do not exist in the parent table.
If there is any data that would violate the constraint then you won't be allowed to create it. Delete the mismatched child data or create the parents and you should be fine.
See also: alter table add foreign key fails