Удалить FOREIGN KEY
. Здесь вы используете сокращенный синтаксис, а не полноценный синтаксис SQL для ограничений внешнего ключа.
Например:
create table invoice (inv_id int(11) primary key not null);
create table products (id int(11) primary key not null);
CREATE TABLE IF NOT EXISTS lineitem (
line_no INT(11) NOT NULL,
line_invoiceId INT(11) NOT NULL REFERENCES invoice(inv_id),
line_productId INT(11) NOT NULL REFERENCES products(id),
line_price DECIMAL(10,2) NOT NULL,
PRIMARY KEY (line_no, line_invoiceId)
);
См. SQL Fiddle .