12-06-2012, 09:27 PM
|
PM User |
#17
|
|
Regular Coder
Join Date: Jul 2011
Posts: 246
Thanks: 58
Thanked 1 Time in 1 Post
|
Quote:
Originally Posted by Old Pedant
As I see it you need these tables:
Code:
CREATE TABLE Categories (
catid INT AUTO_INCREMENT PRIMARY KEY,
catname VARCHAR(100)
);
CREATE TABLE Countries (
coid INT AUTO_INCREMENT PRIMARY KEY,
coname VARCHAR(100)
);
CREATE TABLE Customers (
custid INT AUTO_INCREMENT PRIMARY KEY,
coid INT FOREIGN KEY REFERENCES countries(coid),
custname VARCHAR(100))
);
CREATE TABLE Offers (
offerid INT AUTO_INCREMENT PRIMARY KEY
catid INT FOREIGN KEY REFERENCES categories(catid),
offerdetails .... one or more fields to describe the offer ...
);
CREATE TABLE OffersByCountry (
offerid INT FOREIGN KEY REFERENCES offers(offerid),
coid INT FOREIGN KEY REFERENCES countries(coid)
);
CREATE TABLE CompletedOffers (
custid INT FOREIGN KEY REFERENCES custormers(custid),
offerid INT FOREIGN KEY REFERENCES offers(offerid)
);
The foreign key reference in magenta there may not be necessary, but it is likely a good idea.
The syntax there for the foreign keys isn't quite correct for MySQL, but it's a compact form that easy to read for a post like this.
|
Quote:
SQL query:
CREATE TABLE Customers(
custid INT AUTO_INCREMENT PRIMARY KEY ,
coid INT FOREIGN KEY REFERENCES countries( coid ) ,
custname VARCHAR( 100 )
));
MySQL said:
#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 countries(coid),
custname VARCHAR(100))
)' at line 3
|
The same error appears for all tables after that too.
Last edited by markman641; 12-06-2012 at 09:33 PM..
|
|
|