非記述エラー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 )基になるプラットフォームで大文字と小文字を区別してはなりません。