Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

MySQL Foreign Key, Không thể tạo bảng (errno:150)

Lỗi không phải mô tả 150 thường liên quan đến kiểu dữ liệu khóa ngoại hoặc độ dài không khớp hoặc thiếu chỉ mục trên cột của bảng mẹ.

Đây có vẻ là vấn đề phân biệt chữ hoa chữ thường trong tên bảng Bill_Header (phải là BILL_HEADER ).
Từ tài liệu MySQL trên phân biệt chữ hoa chữ thường của mã định danh:

Khắc phục trường hợp và nó sẽ hoạt động:

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

Vì mã của bạn hoạt động như tại SQLFiddle.com ( http://sqlfiddle.com/#!2/ 08d1e ) nền tảng cơ bản không được phân biệt chữ hoa chữ thường.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PHP PDO chỉ giá trị cuối cùng của mảng được chèn bằng bindValue &bindParam

  2. Rails 2.3.3 - Đặt thành chế độ sản xuất

  3. Bảng xếp hạng bóng chuyền MySQL

  4. Mảng đa chiều từ các cột mysql phù hợp

  5. Lưu trữ hiệu quả dữ liệu chuỗi thời gian:mySQL hoặc tệp phẳng? Nhiều bảng (hoặc tệp) hoặc truy vấn với điều kiện WHERE?