Грешката без описание 150 обикновено е свързана с несъответствия на типа данни или дължината на външния ключ или липсващ индекс в колоната на родителската таблица.
Това изглежда е въпрос на чувствителност към малки и големи букви в името на таблицата Bill_Header
(трябва да е BILL_HEADER
).
От документите на MySQL на чувствителност към главни и малки букви на идентификатора:
Поправете кутията и трябва да работи:
CREATE TABLE TOS.BILL_ITEM
(Bill_No Char(10),
BSeq_No INTEGER,
Toy_Id Char(10),
OTime DateTime,
Quan INT,
DCondition Char(1),
PRIMARY KEY(Bill_No,BSeq_No),
FOREIGN KEY(Bill_No) REFERENCES TOS.BILL_HEADER(Bill_No),
# Here-----------------------------^^^^^^^^^^^^^^
FOREIGN KEY(Toy_Id) REFERENCES TOS.TOY(Toy_Id));
Тъй като кодът ви работи както е в SQLFiddle.com (http://sqlfiddle.com/#!2/ 08d1e ) основната платформа там не трябва да е чувствителна към главни букви.