Вопрос:
Еще одна замечательная ошибка от Access. На этот раз я получаю “Отношения должны быть на одинаковом числе полей с одинаковыми типами данных”. сообщение. Это похоже на такое простое исправление, но я совершенно смущен, почему это сообщение появилось в моем коде:
Код для первой таблицы, в которой я пытаюсь ссылаться:
CREATE TABLE ProgramSupervisor ( EmpNo CHAR (6) , ProgramSupervisorNo CHAR (6) , TeamNo CHAR (3) CONSTRAINT TeamNoRequired NOT NULL , CONSTRAINT PKProgramSupervisor PRIMARY KEY (EmpNo , ProgramSupervisorNo) , CONSTRAINT FKProgSupEmpNo FOREIGN KEY (EmpNo) REFERENCES Employee )
Код для второй таблицы, ссылающийся на первую таблицу:
CREATE TABLE ISL ( ISLNo CHAR (6) , ProgramSupervisorNo CHAR (6) , ISLName VARCHAR (30) CONSTRAINT ISLNameRequired NOT NULL, ISLStreet VARCHAR (40) CONSTRAINT ISLStreetRequired NOT NULL , ISLCity VARCHAR (30) CONSTRAINT ISLCityRequired NOT NULL , ISLState CHAR (2) CONSTRAINT ISLStateRequired NOT NULL , ISLZip CHAR (5) CONSTRAINT ISLZipRequired NOT NULL, CONSTRAINT PKISL PRIMARY KEY (ISLNo) , CONSTRAINT FKProgSupNo FOREIGN KEY (ProgramSupervisorNo) REFERENCES ProgramSupervisor )
Я пытаюсь ссылаться на PK ProgramSupervisorNo как FK в моей таблице ISL. Тем не менее это дает мне вышеупомянутую ошибку, когда оба поля в каждой таблице имеют определение данных CHAR (6). Я не знаю, что делать, и любая помощь очень ценится.
Ответ №1
В этой строке:
CONSTRAINT FKProgSupNo FOREIGN KEY (ProgramSupervisorNo) REFERENCES ProgramSupervisor )
вы не указали поле в таблице ProgramSupervisor, к которому вы хотите обратиться. Сообщение об ошибке вводит в заблуждение.