Fady Kamal
Fady Kamal

Reputation: 1312

Can't create table (errno: 150)?

i am using sequel pro on MACOSX and i've defined the table containing the foreign key and it still gives me this error Can't create table (errno: 150)

CREATE TABLE members (
mem_id INTEGER,
f_name VARCHAR(10),
l_name VARCHAR(10),
address VARCHAR(40),
name VARCHAR(20),
domain VARCHAR(15),
PRIMARY KEY(mem_id)
)

CREATE TABLE member_phone (
mem_id INTEGER,
phone_no INTEGER,
PRIMARY KEY (mem_id,phone_no),
FOREIGN KEY (mem_id) REFERENCES members
)

Upvotes: 3

Views: 5751

Answers (2)

Adam Wenger
Adam Wenger

Reputation: 17540

Your foreign key in member_phone needs to reference the column within the members table:

FOREIGN KEY (mem_id) REFERENCES members(mem_id)

Upvotes: 2

Arnaud F.
Arnaud F.

Reputation: 8452

You need to specify which reference column is the target:

CREATE TABLE members (
mem_id INTEGER,
f_name VARCHAR(10),
l_name VARCHAR(10),
address VARCHAR(40),
name VARCHAR(20),
domain VARCHAR(15),
PRIMARY KEY(mem_id)
)

CREATE TABLE member_phone (
mem_id INTEGER,
phone_no INTEGER,
PRIMARY KEY (mem_id,phone_no),
FOREIGN KEY (mem_id) REFERENCES members (mem_id)


)

Upvotes: 5

Related Questions