0

哦,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  )

我试图在我的 ISL 表中将 PK ProgramSupervisorNo 引用为 FK。然而,当每个表中的两个字段都有 CHAR (6) 数据定义时,它给了我上面提到的错误。我不知道该怎么做,非常感谢任何帮助。

4

1 回答 1

0

在这一行:

CONSTRAINT FKProgSupNo FOREIGN KEY (ProgramSupervisorNo) REFERENCES
      ProgramSupervisor  )

您没有在表 ProgramSupervisor 中指定要引用的字段。错误消息具有误导性。

于 2013-11-10T19:26:06.077 回答