MySQL Forums
Forum List  »  InnoDB

Re: ERROR 1005: Can't create table (errno: 150)
Posted by: Paul Carey
Date: February 27, 2007 10:58AM

i was having big headache trying to sort this, dont know if this will work for every one but the following worked for me, just adding CONSTRAINT into my statement seamed to sort it out amongst other things such as ensuring that all keys had same types and where all unsigned also.

Problem occured when creating second table (quote_item)

Before with problems:

CREATE TABLE quote (
quote_id INT NOT NULL AUTO_INCREMENT,
customer_id INT NULL,
///Fields
PRIMARY KEY(quote_id),
FOREIGN KEY (customer_id) REFERENCES customer(customer_id) ON DELETE CASCADE ON UPDATE CASCADE
)
TYPE=InnoDB;

CREATE TABLE quote_item (
quote_item_id INT NOT NULL AUTO_INCREMENT,
quote_id INT NULL,
//Fields
PRIMARY KEY(quote_item_id),
FOREIGN KEY (quote_id) REFERENCES quote(quote_id) ON DELETE CASCADE ON UPDATE CASCADE
)
TYPE=InnoDB;

After WORKED:

CREATE TABLE quote (
quote_id INT UNSIGNED UNIQUE NOT NULL AUTO_INCREMENT,
customer_id INT UNSIGNED NOT NULL,
//Fields
PRIMARY KEY(quote_id),
FOREIGN KEY (customer_id) REFERENCES customer(customer_id) ON DELETE CASCADE ON UPDATE CASCADE
)
TYPE=InnoDB;

CREATE TABLE quote_item (
quote_item_id INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
quote_id INTEGER UNSIGNED NOT NULL,
//Fields
PRIMARY KEY (quote_item_id),
CONSTRAINT quote_id FOREIGN KEY quote_id (quote_id)
REFERENCES quote (quote_id)
ON DELETE CASCADE
ON UPDATE CASCADE
)
TYPE=InnoDB;

Hope this helps someone

Options: ReplyQuote


Subject
Views
Written By
Posted
647983
March 24, 2005 01:20PM
5343
October 09, 2012 09:48PM
3613
December 19, 2011 10:13PM
9060
May 09, 2006 06:01PM
8242
November 15, 2006 02:05PM
Re: ERROR 1005: Can't create table (errno: 150)
8755
February 27, 2007 10:58AM
7284
T D
February 01, 2008 06:47AM
9097
August 27, 2008 08:08AM
9599
December 03, 2008 10:15AM
6071
May 01, 2009 07:39AM
3332
August 29, 2011 04:46PM
4902
s l
December 15, 2009 01:48PM
4833
December 22, 2009 02:54AM
3156
February 18, 2011 08:55AM
3748
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.