Mysql
 sql >> база данни >  >> RDS >> Mysql

Външен ключ на MySQL, не може да се създаде таблица (errno:150)

Грешката без описание 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 ) основната платформа там не трябва да е чувствителна към главни букви.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. как да възстановя база данни в mysql?

  2. Изтриване на записи в базата данни чрез квадратчета за отметка

  3. Актуализирайте колоната въз основа на съвпадащи стойности в друга таблица в mysql

  4. ПОРЪЧАЙТЕ ПО състояние

  5. Грешка в MySQL 2013