ฉันค้นหาวิธีแก้ไขปัญหานี้บนอินเทอร์เน็ตและตรวจสอบคำถาม Stack Overflow แต่ไม่มีวิธีแก้ไขใดที่ใช้ได้กับกรณีของฉัน
ฉันต้องการสร้างคีย์ต่างประเทศจากตาราง sira_no เป็น 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 ;
สคริปต์นี้ส่งคืน:
Error Code: 1005. Can't create table 'ebs.#sql-f48_1a3' (errno: 150)
ฉันพยายามเพิ่มดัชนีในตารางอ้างอิง:
CREATE INDEX METAL_KODU_INDEX ON metal_kod (METAL_KODU);
ฉันตรวจสอบ METAL_KODU บนทั้งสองตาราง (ชุดอักขระและการจัดเรียง) แต่ฉันไม่พบวิธีแก้ปัญหานี้ ฉันจะแก้ไขปัญหานี้ได้อย่างไร?
นี่คือตาราง 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
ตาราง ... ฟิลด์ใดในตารางนั้นที่ Foreign Key ควรอ้างอิง