On Wed, May 19, 2010 at 10:59 AM, Shawn Green <shawn.l.green@stripped>wrote:
> Shawn Green wrote:
> AH! that's your mistake. You think that creating the FK will also create
> the column. That does not happen. You have to define the table completely
> before you can associate the columns on this table (the child table) with
> the correct column on the parent table (either Flights or Customers).
> You need to declare two more fields before you can link them through a
> Foreign Key relationship to a field on another table:
> CREATE TABLE PASSENGERS (
> id int auto_increment
> , flights_id int not null
> , customer_id int not null
> ... other passenger table columns here ...
> , PRIMARY KEY (id)
> , FOREIGN KEY (flights_id) REFERENCES Flights(id)
> , FOREIGN KEY (customer_id) REFERENCES Customer(id)
> ) ENGINE=INNODB;
> Try it that way and see if it helps.
> Well, that was certainly one error, but there's another:
LATEST FOREIGN KEY ERROR
100519 8:46:10 Error in foreign key constraint of table
foreign key (id) references Flights (flights_id), foreign key (id)
references Customers (customer_id), name varchar(40), weight tinyint(3))
Cannot resolve column name close to:
), foreign key (id) references Customers (customer_id), name varchar(40),
weight tinyint(3)) engine=InnoDB
Now, I've added the innodb engine to all tables and constraints on the id
columns of the foreign key tables. What else?