MySQL Forums
Forum List  »  InnoDB

Re: ERROR 1005: Can't create table (errno: 150)
Posted by: Erin W
Date: December 05, 2008 11:05AM

I have a similar issue. In my ISSUE table the reporter and assignedTo will be an employee in my employee table. Can i reference the same key in mysql 5? Is this a syntax issue or design issue. Pleas help!

DROP TABLE IF EXISTS `CRM`.`EMPLOYEE` ;
CREATE TABLE IF NOT EXISTS `CRM`.`EMPLOYEE` (
`employeeID` TINYINT(4) NOT NULL AUTO_INCREMENT ,
`loginName` VARCHAR(255) NOT NULL DEFAULT '' ,
`cryptPassword` VARCHAR(128) NOT NULL DEFAULT '' ,
`firstName` VARCHAR(30) NOT NULL DEFAULT '' ,
`lastName` VARCHAR(30) NOT NULL DEFAULT '' ,
PRIMARY KEY (`employeeID`) )
ENGINE = InnoDB;

DROP TABLE IF EXISTS `CRM`.`ISSUE` ;
CREATE TABLE IF NOT EXISTS `CRM`.`ISSUE` (
`issueID` INT(11) NOT NULL AUTO_INCREMENT ,
`reporter` TINYINT(4) NOT NULL ,
`assignedTo` TINYINT(4) NOT NULL ,
PRIMARY KEY (`issueID`) ,
CONSTRAINT `fk_ISSUE_EMPLOYEE`
FOREIGN KEY (`reporter` , `assignedTo` )
REFERENCES `CRM`.`EMPLOYEE` (`employeeID` , `employeeID` )
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;
CREATE INDEX `fk_ISSUE_CUSTOMER` ON `CRM`.`ISSUE` (`caller` ASC) ;
CREATE INDEX `fk_ISSUE_EMPLOYEE` ON `CRM`.`ISSUE` (`reporter` ASC, `assignedTo` ASC) ;

Options: ReplyQuote


Subject
Views
Written By
Posted
655374
March 24, 2005 01:20PM
8744
October 09, 2012 09:48PM
4546
December 19, 2011 10:13PM
10473
May 09, 2006 06:01PM
13391
November 15, 2006 02:05PM
8350
T D
February 01, 2008 06:47AM
10485
August 27, 2008 08:08AM
11801
December 03, 2008 10:15AM
7061
May 01, 2009 07:39AM
Re: ERROR 1005: Can't create table (errno: 150)
11403
December 05, 2008 11:05AM
4350
August 29, 2011 04:46PM
5906
s l
December 15, 2009 01:48PM
6661
December 22, 2009 02:54AM
5179
February 18, 2011 08:55AM
7119
May 24, 2011 10:11AM


Sorry, you can't reply to this topic. It has been closed.

Content reproduced on this site is the property of the respective copyright holders. It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.