I am trying to create a table with a varchar column as a foreign key, but MySql gives me an error while creating the table. My request is as follows:
CREATE TABLE network_classes ( id TINYINT(1) UNSIGNED NOT NULL AUTO_INCREMENT, category VARCHAR(80) NOT NULL, PRIMARY KEY(id), KEY `key_1` (`id`,`category`) ) ENGINE=InnoDB; CREATE TABLE networks ( id TINYINT(3) UNSIGNED NOT NULL AUTO_INCREMENT, name VARCHAR(100) NOT NULL, category VARCHAR(80) NOT NULL, director_id TINYINT(3) UNSIGNED NULL, director_name VARCHAR(100) NULL, description VARCHAR(1000) NULL, last_modified TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP, user_id SMALLINT UNSIGNED NULL, PRIMARY KEY(id), KEY `networks_fk1` (`category`), CONSTRAINT `networks_fk1` FOREIGN KEY (`category`) REFERENCES `network_classes` (`category`) ON DELETE NO ACTION, INDEX networks_index2471(name), INDEX networks_index2472(director_id, director_name) ) ENGINE=InnoDB;
and I get this error:
[Err] 1215 - Cannot add foreign key constraint
I am using MySQL 5.6.12. How can I rewrite my request to fix it?
mysql relational-database database-design foreign-keys
Hamid Ghorashi Aug 22 '13 at 14:23 2013-08-22 14:23
source share