ฉันไม่เคยมีรหัสการสร้างออบเจ็กต์แบบ "เข้ารหัสด้วยมือ" สำหรับ SQL Server และการถอดรหัสคีย์ต่างประเทศดูเหมือนจะแตกต่างกันระหว่าง SQL Server และ Postgres นี่คือ sql ของฉันจนถึงตอนนี้:
drop table exams;
drop table question_bank;
drop table anwser_bank;
create table exams
(
exam_id uniqueidentifier primary key,
exam_name varchar(50),
);
create table question_bank
(
question_id uniqueidentifier primary key,
question_exam_id uniqueidentifier not null,
question_text varchar(1024) not null,
question_point_value decimal,
constraint question_exam_id foreign key references exams(exam_id)
);
create table anwser_bank
(
anwser_id uniqueidentifier primary key,
anwser_question_id uniqueidentifier,
anwser_text varchar(1024),
anwser_is_correct bit
);
เมื่อฉันเรียกใช้แบบสอบถามฉันได้รับข้อผิดพลาดนี้:
ข่าวสารเกี่ยวกับ 8139, ระดับ 16, สถานะ 0, สาย 9 จำนวนคอลัมน์อ้างอิงใน foreign key จะแตกต่างจากจำนวนคอลัมน์อ้างอิง, ตาราง 'question_bank'
คุณเห็นข้อผิดพลาดได้หรือไม่?