Tôi đã tìm kiếm giải pháp cho vấn đề này trên Internet và kiểm tra các câu hỏi về Stack Overflow, nhưng không có giải pháp nào phù hợp với trường hợp của tôi.
Tôi muốn tạo khóa ngoại từ bảng sira_no đến metal_kod.
ALTER TABLE sira_no
ADD CONSTRAINT METAL_KODU FOREIGN KEY(METAL_KODU)
REFERENCES metal_kod(METAL_KODU)
ON DELETE SET NULL
ON UPDATE SET NULL ;
Tập lệnh này trả về:
Error Code: 1005. Can't create table 'ebs.#sql-f48_1a3' (errno: 150)
Tôi đã thử thêm một chỉ mục vào bảng được tham chiếu:
CREATE INDEX METAL_KODU_INDEX ON metal_kod (METAL_KODU);
Tôi đã kiểm tra METAL_KODU trên cả hai bảng (bảng mã và đối chiếu), nhưng tôi không thể tìm thấy giải pháp cho vấn đề này. Làm cách nào để khắc phục sự cố này?
Đây là bảng metal_kod:
METAL_KODU varchar(4) NO PRI
DURUM bit(1) NO
METAL_ISMI varchar(30) NO
AYAR_YOGUNLUK smallint(6) YES 100
metal_kod
bảng ... trường nào trong bảng đó nên tham chiếu Khóa ngoại không?