How to set a forgien key when creating a table?

FairyBusiness
FairyBusiness used Ask the Experts™
on
Hi, I dont know why but whenever I try to set a foreign key it causes me so much trouble!!  Can someone please tell me what I am doing wrong??

CREATE TABLE children (
 id INT AUTO_INCREMENT NOT NULL PRIMARY KEY,
 submenu_id INT FOREIGN KEY REFERENCES submenus(id) NOT NULL,
 title VARCHAR(255) NOT NULL,
 name VARCHAR(100) NOT NULL,
 blurb VARCHAR(100) NOT NULL,
 header VARCHAR(255) NOT NULL,
 img VARCHAR(100) NOT NULL,
 caption VARHCAR(255) NOT NULL,
 content TEXT NOT NULL
);

Open in new window


#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'FOREIGN KEY REFERENCES submenus(id) NOT NULL,
title VARCHAR(255) NOT NULL,
n' at line 3
Comment
Watch Question

Do more with

Expert Office
EXPERT OFFICE® is a registered trademark of EXPERTS EXCHANGE®
Data Engineer
Commented:
Can you try this?
CREATE TABLE children (
 id INT AUTO_INCREMENT NOT NULL PRIMARY KEY,
 submenu_id INT NOT NULL,
 title VARCHAR(255) NOT NULL,
 name VARCHAR(100) NOT NULL,
 blurb VARCHAR(100) NOT NULL,
 header VARCHAR(255) NOT NULL,
 img VARCHAR(100) NOT NULL,
 caption VARHCAR(255) NOT NULL,
 content TEXT NOT NULL,
 FOREIGN KEY (submenu_id) REFERENCES submenus(id)
);

Open in new window

Author

Commented:
Tried but I got this error msg back:

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'VARHCAR(255) NOT NULL,
content TEXT NOT NULL,
FOREIGN KEY (submenu_id) REFER' at line 9

Author

Commented:
The problem was I spelled varchar wrong for one of them. But other then that I used your way and it worked

Do more with

Expert Office
Submit tech questions to Ask the Experts™ at any time to receive solutions, advice, and new ideas from leading industry professionals.

Start 7-Day Free Trial