0
モデルを作成し、インポートのためにSQLテキストにフォワードエンジニアリングしました。私は既存の接続へのデータのインポートを開始すると、私は次のエラーが表示され、MySQLデータのインポート - 外部キー制約エラーを追加できません。
ERROR 1215 (HY000) at line 76: Cannot add foreign key constraint
私は親のデータ型とエラーがから来ている子となどが、わからないためにチェックしました。.. MySQLの5.7
とMySQLWorkbench 6.3を使用して
- ライン76は、
次抽出物の始まりですCREATE TABLE IF NOT EXISTS `CostTrackerDB`.`Expense` ( `idExpense` INT NOT NULL, `Date` DATETIME NULL, `Description` VARCHAR(100) NULL, `Amount` DOUBLE NULL, `Billable` TINYINT(1) NULL, `Job_idJob` INT NOT NULL, `Job_idClient` INT NOT NULL, `Task_idTask` INT NOT NULL, PRIMARY KEY (`idExpense`), INDEX `fk_Expense_Job1_idx` (`Job_idJob` ASC, `Job_idClient` ASC), INDEX `fk_Expense_Task1_idx` (`Task_idTask` ASC), CONSTRAINT `fk_Expense_Job1` FOREIGN KEY (`Job_idJob` , `Job_idClient`) REFERENCES `CostTrackerDB`.`Job` (`idJob` , `Client_idClient`) ON DELETE NO ACTION ON UPDATE NO ACTION, CONSTRAINT `fk_Expense_Task1` FOREIGN KEY (`Task_idTask`) REFERENCES `CostTrackerDB`.`Task` (`idTask`) ON DELETE NO ACTION ON UPDATE NO ACTION) ENGINE = InnoDB;
全体のSQLテキスト、
-- MySQL Script generated by MySQL Workbench -- 04/11/16 12:31:19 -- Model: New Model Version: 1.0 -- MySQL Workbench Forward Engineering SET @[email protected]@UNIQUE_CHECKS, UNIQUE_CHECKS=0; SET @[email protected]@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0; SET @[email protected]@SQL_MODE, SQL_MODE='TRADITIONAL,ALLOW_INVALID_DATES'; -- ----------------------------------------------------- -- Schema CostTrackerDB -- ----------------------------------------------------- -- ----------------------------------------------------- -- Schema CostTrackerDB -- ----------------------------------------------------- CREATE SCHEMA IF NOT EXISTS `CostTrackerDB` DEFAULT CHARACTER SET utf8 ; USE `CostTrackerDB` ; -- ----------------------------------------------------- -- Table `CostTrackerDB`.`Staff` -- ----------------------------------------------------- CREATE TABLE IF NOT EXISTS `CostTrackerDB`.`Staff` ( `idStaff` INT NOT NULL, `Name` VARCHAR(45) NULL, `Role` VARCHAR(45) NULL, PRIMARY KEY (`idStaff`)) ENGINE = InnoDB; -- ----------------------------------------------------- -- Table `CostTrackerDB`.`Client` -- ----------------------------------------------------- CREATE TABLE IF NOT EXISTS `CostTrackerDB`.`Client` ( `idClient` INT NOT NULL, `name` VARCHAR(45) NULL, PRIMARY KEY (`idClient`)) ENGINE = InnoDB; -- ----------------------------------------------------- -- Table `CostTrackerDB`.`Job` -- ----------------------------------------------------- CREATE TABLE IF NOT EXISTS `CostTrackerDB`.`Job` ( `idJob` INT NOT NULL, `Number` VARCHAR(45) NULL, `Title` VARCHAR(100) NULL, `State` VARCHAR(45) NULL, `Start` DATETIME NULL, `Due` DATETIME NULL, `Client_idClient` INT NOT NULL, PRIMARY KEY (`idJob`), INDEX `fk_Job_Client1_idx` (`Client_idClient` ASC), CONSTRAINT `fk_Job_Client1` FOREIGN KEY (`Client_idClient`) REFERENCES `CostTrackerDB`.`Client` (`idClient`) ON DELETE NO ACTION ON UPDATE NO ACTION) ENGINE = InnoDB; -- ----------------------------------------------------- -- Table `CostTrackerDB`.`Task` -- ----------------------------------------------------- CREATE TABLE IF NOT EXISTS `CostTrackerDB`.`Task` ( `idTask` INT NOT NULL, `Title` VARCHAR(100) NULL, `idStaff` INT NULL, PRIMARY KEY (`idTask`)) ENGINE = InnoDB; -- ----------------------------------------------------- -- Table `CostTrackerDB`.`Expense` -- ----------------------------------------------------- CREATE TABLE IF NOT EXISTS `CostTrackerDB`.`Expense` ( `idExpense` INT NOT NULL, `Date` DATETIME NULL, `Description` VARCHAR(100) NULL, `Amount` DOUBLE NULL, `Billable` TINYINT(1) NULL, `Job_idJob` INT NOT NULL, `Job_idClient` INT NOT NULL, `Task_idTask` INT NOT NULL, PRIMARY KEY (`idExpense`), INDEX `fk_Expense_Job1_idx` (`Job_idJob` ASC, `Job_idClient` ASC), INDEX `fk_Expense_Task1_idx` (`Task_idTask` ASC), CONSTRAINT `fk_Expense_Job1` FOREIGN KEY (`Job_idJob` , `Job_idClient`) REFERENCES `CostTrackerDB`.`Job` (`idJob` , `Client_idClient`) ON DELETE NO ACTION ON UPDATE NO ACTION, CONSTRAINT `fk_Expense_Task1` FOREIGN KEY (`Task_idTask`) REFERENCES `CostTrackerDB`.`Task` (`idTask`) ON DELETE NO ACTION ON UPDATE NO ACTION) ENGINE = InnoDB; -- ----------------------------------------------------- -- Table `CostTrackerDB`.`StaffAllocation` -- ----------------------------------------------------- CREATE TABLE IF NOT EXISTS `CostTrackerDB`.`StaffAllocation` ( `Job_idJob` INT NOT NULL, `Staff_idStaff` INT NOT NULL, `Task_idTask` INT NOT NULL, `Rate` DOUBLE NULL, `Role` VARCHAR(45) NULL, `Hours` DOUBLE NULL, `Week` DATETIME NULL, PRIMARY KEY (`Job_idJob`, `Staff_idStaff`, `Task_idTask`), INDEX `fk_Job_has_Staff_Staff1_idx` (`Staff_idStaff` ASC), INDEX `fk_Job_has_Staff_Job1_idx` (`Job_idJob` ASC), INDEX `fk_StaffAllocation_Task1_idx` (`Task_idTask` ASC), CONSTRAINT `fk_Job_has_Staff_Job1` FOREIGN KEY (`Job_idJob`) REFERENCES `CostTrackerDB`.`Job` (`idJob`) ON DELETE NO ACTION ON UPDATE NO ACTION, CONSTRAINT `fk_Job_has_Staff_Staff1` FOREIGN KEY (`Staff_idStaff`) REFERENCES `CostTrackerDB`.`Staff` (`idStaff`) ON DELETE NO ACTION ON UPDATE NO ACTION, CONSTRAINT `fk_StaffAllocation_Task1` FOREIGN KEY (`Task_idTask`) REFERENCES `CostTrackerDB`.`Task` (`idTask`) ON DELETE NO ACTION ON UPDATE NO ACTION) ENGINE = InnoDB; -- ----------------------------------------------------- -- Table `CostTrackerDB`.`Timesheet` -- ----------------------------------------------------- CREATE TABLE IF NOT EXISTS `CostTrackerDB`.`Timesheet` ( `Task_idTask` INT NOT NULL, `Staff_idStaff` INT NOT NULL, `Time` DATETIME NULL, `Billable` TINYINT(1) NULL, `hours` DATETIME NULL, PRIMARY KEY (`Task_idTask`, `Staff_idStaff`), INDEX `fk_Task_has_Staff_Staff1_idx` (`Staff_idStaff` ASC), INDEX `fk_Task_has_Staff_Task1_idx` (`Task_idTask` ASC), CONSTRAINT `fk_Task_has_Staff_Task1` FOREIGN KEY (`Task_idTask`) REFERENCES `CostTrackerDB`.`Task` (`idTask`) ON DELETE NO ACTION ON UPDATE NO ACTION, CONSTRAINT `fk_Task_has_Staff_Staff1` FOREIGN KEY (`Staff_idStaff`) REFERENCES `CostTrackerDB`.`Staff` (`idStaff`) ON DELETE NO ACTION ON UPDATE NO ACTION) ENGINE = InnoDB; SET [email protected]_SQL_MODE; SET [email protected]_FOREIGN_KEY_CHECKS; SET [email protected]_UNIQUE_CHECKS;
感謝!魅力のように働く。 – lukieleetronic