sql >> Database teknologi >  >> RDS >> Mysql

MySQL udenlandsk nøgle, kan ikke oprette tabel (fejlnr:150)

Den ikke-deskriptive fejl 150 er normalt relateret til uoverensstemmelser i datatypen eller længden af ​​fremmednøgle eller et manglende indeks i den overordnede tabels kolonne.

Dette udseende er et spørgsmål om forskel på store og små bogstaver i tabelnavnet Bill_Header (skal være BILL_HEADER ).
Fra MySQL-dokumenterne på identifikation af store og små bogstaver:

Løs sagen, og den burde virke:

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));

Da din kode fungerede som den er på SQLFiddle.com (http://sqlfiddle.com/#!2/ 08d1e ) den underliggende platform der må ikke skelnes mellem store og små bogstaver.



  1. Mysql-forespørgsel for at udtrække domæner fra webadresser

  2. if condition i mysql select statement

  3. Henter data fra sql databse i flutter datewise?

  4. Saml kolonner med yderligere (særskilte) filtre