I am working on a normalized database to be safe, I wanted to use foreign keys.
My database:
CREATE TABLE `names` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(250) NOT NULL, PRIMARY KEY (`id`), UNIQUE KEY `name` (`name`), KEY `name_2` (`name`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; CREATE TABLE `users` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name_id` int(11) DEFAULT NULL, PRIMARY KEY (`id`), KEY `name_id` (`name_id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
Command:
ALTER TABLE `names` ADD FOREIGN KEY ( `name` ) REFERENCES `temp`.`users` ( `name_id` ) ON DELETE SET NULL ON UPDATE CASCADE ;
Answer (error):
Error creating foreign key by name (check data types)
So how to fix this?
source share