Mysql
 sql >> Database >  >> RDS >> Mysql

MYSQL - Impossibile creare una chiave esterna

Devi avere una colonna nelle keywords tabella per contenere la chiave esterna.

Come questo

CREATE TABLE `jobs` (
      `title` text NOT NULL,
      `type` text NOT NULL,
      `location` text NOT NULL,
      `salary` int(11) NOT NULL,
      `description` text NOT NULL,
      `date` date NOT NULL,
      `job_id` int(11) NOT NULL AUTO_INCREMENT,
      PRIMARY KEY (`job_id`)
) ENGINE=InnoDB AUTO_INCREMENT=28 DEFAULT CHARSET=latin1;

CREATE TABLE `keywords` (
    `keyword_id` int(11) NOT NULL AUTO_INCREMENT,
    `keyword` text NOT NULL,
    `job_id` int(11) NOT NULL,              #<- new column
    PRIMARY KEY(`keyword_id`),
    FOREIGN KEY (job_id) REFERENCES jobs(job_id)
) ENGINE=InnoDB AUTO_INCREMENT=28 DEFAULT CHARSET=latin1;