When I try to create a new table, I get an error:
Error Code: 1005. Can't create table `db'.'db_timesheet_check' (errno: 150)
The problem I think is to create the foreign keys. Without the foreign keys it works, but when I try to add the keys I got the error.
What am I doing wrong?
DROP TABLE IF EXISTS `db`.`db_check_causes`;
CREATE TABLE IF NOT EXISTS `db`.`db_check_causes` (
`id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT ,
`code` VARCHAR(8) NOT NULL ,
`info` VARCHAR(45) NOT NULL ,
PRIMARY KEY (`id`) ,
UNIQUE INDEX `id_UNIQUE` (`id` ASC) ,
UNIQUE INDEX `code_UNIQUE` (`code` ASC) );
DROP TABLE IF EXISTS `db`.`db_timesheet_check`;
CREATE TABLE IF NOT EXISTS `db`.`db_timesheet_check` (
`id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT ,
`TSId` INT(10) UNSIGNED NOT NULL ,
`causeId` INT(10) UNSIGNED NOT NULL ,
`checked` BIT NOT NULL DEFAULT 0 ,
`checkedBy` INT(10) UNSIGNED NULL ,
PRIMARY KEY (`id`) ,
UNIQUE INDEX `id_UNIQUE` (`id` ASC) ,
INDEX `TSId` (`TSId` ASC) ,
INDEX `causeId` (`causeId` ASC) ,
INDEX `checkedBy` (`checkedBy` ASC) ,
CONSTRAINT `TSId`
FOREIGN KEY (`TSId` )
REFERENCES `db`.`db_timesheet` (`id` )
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `causeId`
FOREIGN KEY (`causeId` )
REFERENCES `db`.`db_check_causes` (`id` )
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `checkedBy`
FOREIGN KEY (`checkedBy` )
REFERENCES `db`.`db_user` (`id` )
ON DELETE NO ACTION
ON UPDATE NO ACTION);