EDIT: Now I've go the notorious errno 150.
I'm using Workbench 5.2.34 and server 5.5.15. I've created a database in Workbench, exported it as a .SQL, and am now trying to import it to the server, but the Repairs table is producing the 1005/150 error.
It has a lot of foreign keys, but they are all indexed and the data types all match. What other things cause this error?
Code follows...
-- -----------------------------------------------------
-- Table `Watts`.`Events`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `Watts`.`Events` (
`EventNum` INT NOT NULL ,
`EventType` VARCHAR(45) NULL ,
`EventDate` DATE NOT NULL ,
PRIMARY KEY (`EventNum`) )
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `Watts`.`Objects`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `Watts`.`Objects` (
`ObjID` CHAR(3) NOT NULL ,
`ObjName` VARCHAR(15) NOT NULL ,
PRIMARY KEY (`ObjID`) )
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `Watts`.`ZVals`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `Watts`.`ZVals` (
`ObjName` CHAR(3) NOT NULL ,
`ZValue` INT NOT NULL ,
`RowNum` INT NOT NULL ,
`Letter` CHAR(1) NOT NULL ,
PRIMARY KEY (`ObjName`, `ZValue`) ,
INDEX `ZObjID` (`ObjName` ASC) ,
CONSTRAINT `ZObjID`
FOREIGN KEY (`ObjName` )
REFERENCES `Watts`.`Objects` (`ObjID` )
ON DELETE RESTRICT
ON UPDATE CASCADE)
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `Watts`.`RVals`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `Watts`.`RVals` (
`ObjID` CHAR(3) NOT NULL ,
`RValue` VARCHAR(4) NOT NULL ,
PRIMARY KEY (`ObjID`, `RValue`) ,
INDEX `RObjID` (`ObjID` ASC) ,
CONSTRAINT `RObjID`
FOREIGN KEY (`ObjID` )
REFERENCES `Watts`.`Objects` (`ObjID` )
ON DELETE RESTRICT
ON UPDATE CASCADE)
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `Watts`.`ThVals`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `Watts`.`ThVals` (
`ObjID` CHAR(3) NOT NULL ,
`ThetaValue` INT NOT NULL ,
`ColumnNum` INT NULL ,
`CompassAbsolute` CHAR(3) NULL ,
`CompassRand` CHAR(3) NULL ,
PRIMARY KEY (`ObjID`, `ThetaValue`) ,
INDEX `ThObjID` (`ObjID` ASC) ,
CONSTRAINT `ThObjID`
FOREIGN KEY (`ObjID` )
REFERENCES `Watts`.`Objects` (`ObjID` )
ON DELETE RESTRICT
ON UPDATE CASCADE)
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `Watts`.`FVals`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `Watts`.`FVals` (
`ObjID` CHAR(3) NOT NULL ,
`FacingValue` VARCHAR(3) NOT NULL ,
PRIMARY KEY (`ObjID`, `FacingValue`) ,
INDEX `FObjID` (`ObjID` ASC) ,
CONSTRAINT `FObjID`
FOREIGN KEY (`ObjID` )
REFERENCES `Watts`.`Objects` (`ObjID` )
ON DELETE RESTRICT
ON UPDATE CASCADE)
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `Watts`.`Repairs`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `Watts`.`Repairs` (
`RepNum` INT NOT NULL ,
`RepType` VARCHAR(20) NULL ,
`RepDate` DATE NOT NULL ,
`Conservator` VARCHAR(45) NOT NULL ,
`Notes` VARCHAR(200) NULL ,
`EventNum` INT NULL ,
`Failed` TINYINT(1) NOT NULL DEFAULT False ,
`FailDate` DATE NULL ,
`ZValue` INT NULL ,
`RValue` VARCHAR(4) NULL ,
`ThetaValue` INT NULL ,
`FacingValue` VARCHAR(3) NULL ,
`ObjID` CHAR(3) NOT NULL ,
PRIMARY KEY (`RepNum`) ,
INDEX `RepEventNum` (`EventNum` ASC) ,
INDEX `RepZValue` (`ZValue` ASC) ,
INDEX `RepRValue` (`RValue` ASC) ,
INDEX `RepThetaValue` (`ThetaValue` ASC) ,
INDEX `RepFacingValue` (`FacingValue` ASC) ,
INDEX `RepObjID` (`ObjID` ASC) ,
CONSTRAINT `RepEventNum`
FOREIGN KEY (`EventNum` )
REFERENCES `Watts`.`Events` (`EventNum` )
ON DELETE RESTRICT
ON UPDATE CASCADE,
CONSTRAINT `RepZValue`
FOREIGN KEY (`ZValue` )
REFERENCES `Watts`.`ZVals` (`ZValue` )
ON DELETE RESTRICT
ON UPDATE CASCADE,
CONSTRAINT `RepRValue`
FOREIGN KEY (`RValue` )
REFERENCES `Watts`.`RVals` (`RValue` )
ON DELETE RESTRICT
ON UPDATE CASCADE,
CONSTRAINT `RepThetaValue`
FOREIGN KEY (`ThetaValue` )
REFERENCES `Watts`.`ThVals` (`ThetaValue` )
ON DELETE RESTRICT
ON UPDATE CASCADE,
CONSTRAINT `RepFacingValue`
FOREIGN KEY (`FacingValue` )
REFERENCES `Watts`.`FVals` (`FacingValue` )
ON DELETE RESTRICT
ON UPDATE CASCADE,
CONSTRAINT `RepObjID`
FOREIGN KEY (`ObjID` )
REFERENCES `Watts`.`Objects` (`ObjID` )
ON DELETE RESTRICT
ON UPDATE CASCADE)
ENGINE = InnoDB;
I'm using Workbench 5.2.34 and server 5.5.15. I've created a database in Workbench, exported it as a .SQL, and am now trying to import it to the server, but the Repairs table is producing the 1005/150 error.
It has a lot of foreign keys, but they are all indexed and the data types all match. What other things cause this error?
Code follows...
-- -----------------------------------------------------
-- Table `Watts`.`Events`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `Watts`.`Events` (
`EventNum` INT NOT NULL ,
`EventType` VARCHAR(45) NULL ,
`EventDate` DATE NOT NULL ,
PRIMARY KEY (`EventNum`) )
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `Watts`.`Objects`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `Watts`.`Objects` (
`ObjID` CHAR(3) NOT NULL ,
`ObjName` VARCHAR(15) NOT NULL ,
PRIMARY KEY (`ObjID`) )
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `Watts`.`ZVals`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `Watts`.`ZVals` (
`ObjName` CHAR(3) NOT NULL ,
`ZValue` INT NOT NULL ,
`RowNum` INT NOT NULL ,
`Letter` CHAR(1) NOT NULL ,
PRIMARY KEY (`ObjName`, `ZValue`) ,
INDEX `ZObjID` (`ObjName` ASC) ,
CONSTRAINT `ZObjID`
FOREIGN KEY (`ObjName` )
REFERENCES `Watts`.`Objects` (`ObjID` )
ON DELETE RESTRICT
ON UPDATE CASCADE)
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `Watts`.`RVals`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `Watts`.`RVals` (
`ObjID` CHAR(3) NOT NULL ,
`RValue` VARCHAR(4) NOT NULL ,
PRIMARY KEY (`ObjID`, `RValue`) ,
INDEX `RObjID` (`ObjID` ASC) ,
CONSTRAINT `RObjID`
FOREIGN KEY (`ObjID` )
REFERENCES `Watts`.`Objects` (`ObjID` )
ON DELETE RESTRICT
ON UPDATE CASCADE)
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `Watts`.`ThVals`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `Watts`.`ThVals` (
`ObjID` CHAR(3) NOT NULL ,
`ThetaValue` INT NOT NULL ,
`ColumnNum` INT NULL ,
`CompassAbsolute` CHAR(3) NULL ,
`CompassRand` CHAR(3) NULL ,
PRIMARY KEY (`ObjID`, `ThetaValue`) ,
INDEX `ThObjID` (`ObjID` ASC) ,
CONSTRAINT `ThObjID`
FOREIGN KEY (`ObjID` )
REFERENCES `Watts`.`Objects` (`ObjID` )
ON DELETE RESTRICT
ON UPDATE CASCADE)
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `Watts`.`FVals`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `Watts`.`FVals` (
`ObjID` CHAR(3) NOT NULL ,
`FacingValue` VARCHAR(3) NOT NULL ,
PRIMARY KEY (`ObjID`, `FacingValue`) ,
INDEX `FObjID` (`ObjID` ASC) ,
CONSTRAINT `FObjID`
FOREIGN KEY (`ObjID` )
REFERENCES `Watts`.`Objects` (`ObjID` )
ON DELETE RESTRICT
ON UPDATE CASCADE)
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `Watts`.`Repairs`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `Watts`.`Repairs` (
`RepNum` INT NOT NULL ,
`RepType` VARCHAR(20) NULL ,
`RepDate` DATE NOT NULL ,
`Conservator` VARCHAR(45) NOT NULL ,
`Notes` VARCHAR(200) NULL ,
`EventNum` INT NULL ,
`Failed` TINYINT(1) NOT NULL DEFAULT False ,
`FailDate` DATE NULL ,
`ZValue` INT NULL ,
`RValue` VARCHAR(4) NULL ,
`ThetaValue` INT NULL ,
`FacingValue` VARCHAR(3) NULL ,
`ObjID` CHAR(3) NOT NULL ,
PRIMARY KEY (`RepNum`) ,
INDEX `RepEventNum` (`EventNum` ASC) ,
INDEX `RepZValue` (`ZValue` ASC) ,
INDEX `RepRValue` (`RValue` ASC) ,
INDEX `RepThetaValue` (`ThetaValue` ASC) ,
INDEX `RepFacingValue` (`FacingValue` ASC) ,
INDEX `RepObjID` (`ObjID` ASC) ,
CONSTRAINT `RepEventNum`
FOREIGN KEY (`EventNum` )
REFERENCES `Watts`.`Events` (`EventNum` )
ON DELETE RESTRICT
ON UPDATE CASCADE,
CONSTRAINT `RepZValue`
FOREIGN KEY (`ZValue` )
REFERENCES `Watts`.`ZVals` (`ZValue` )
ON DELETE RESTRICT
ON UPDATE CASCADE,
CONSTRAINT `RepRValue`
FOREIGN KEY (`RValue` )
REFERENCES `Watts`.`RVals` (`RValue` )
ON DELETE RESTRICT
ON UPDATE CASCADE,
CONSTRAINT `RepThetaValue`
FOREIGN KEY (`ThetaValue` )
REFERENCES `Watts`.`ThVals` (`ThetaValue` )
ON DELETE RESTRICT
ON UPDATE CASCADE,
CONSTRAINT `RepFacingValue`
FOREIGN KEY (`FacingValue` )
REFERENCES `Watts`.`FVals` (`FacingValue` )
ON DELETE RESTRICT
ON UPDATE CASCADE,
CONSTRAINT `RepObjID`
FOREIGN KEY (`ObjID` )
REFERENCES `Watts`.`Objects` (`ObjID` )
ON DELETE RESTRICT
ON UPDATE CASCADE)
ENGINE = InnoDB;