I discovered some threads in regards to the error. However all of the options does not work for me.

I created 2 tables a consumer desk and one for articles. Now I need to retailer the consumer that created the article and the one who’s the final modifier.

CREATE TABLE IF NOT EXISTS `testDb`.`customers` ( `id` INT NOT NULL AUTO_INCREMENT, `nickname` VARCHAR(255) NULL, `first_name` VARCHAR(255) NULL, `last_name` VARCHAR(255) NULL, `e_mail` VARCHAR(255) NOT NULL, `activated` TINYINT(1) NOT NULL DEFAULT 0, `birth_date` DATE NULL, `locked` TINYINT(1) NOT NULL DEFAULT 0, `locked_date_time` DATETIME NULL, `avenue` VARCHAR(255) NULL, `street_number` VARCHAR(255) NULL, `metropolis` VARCHAR(255) NULL, `postal_code` VARCHAR(255) NULL, `nation` VARCHAR(255) NULL, `cellphone` VARCHAR(255) NULL, PRIMARY KEY (`id`), UNIQUE INDEX `user_id_UNIQUE` (`id` ASC) ) ENGINE = InnoDB AUTO_INCREMENT = 1; CREATE TABLE IF NOT EXISTS `testDb`.`articles` ( `id` INT NOT NULL AUTO_INCREMENT, `title` VARCHAR(255) NULL, `description` VARCHAR(255) NULL, `create_user` INT ZEROFILL NOT NULL, `create_date_time` DATETIME NULL, `last_modifie_user` INT ZEROFILL NOT NULL, `last_modifie_date_time` DATETIME NULL, PRIMARY KEY (`id`), UNIQUE INDEX `article_id_UNIQUE` (`id` ASC), INDEX `fk_articles_users1_idx` (`create_user` ASC), INDEX `fk_articles_users2_idx` (`last_modifie_user` ASC) ) ENGINE = InnoDB AUTO_INCREMENT = 1; ALTER TABLE `testDb`.`articles` ADD CONSTRAINT `fk_articles_users1` FOREIGN KEY (`create_user`) REFERENCES `testDb`.`customers` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION, ADD CONSTRAINT `fk_articles_users2` FOREIGN KEY (`last_modifie_user`) REFERENCES `testDb`.`customers` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION;

I get the next error, however I did not perceive why I ought to have a index for that.

Error Code: 1822. Failed so as to add the international key constaint. Lacking index for constraint ‘fk_articles_users1’ within the referenced desk ‘customers’

I actived

SHOW ENGINE innodb STATUS;

however this does not exhibits any erros.

Source

Leave a Reply