CREATE TABLE EMPLOYEE(
ENUM DECIMAL(12) NOT NULL,
FNAME VARCHAR(50) NOT NULL,
INITIALS VARCHAR(5) NULL,
LNAME VARCHAR(50) NOT NULL,
DOB DATE NULL,
BLDG DECIMAL(3) NOT NULL,
STREET VARCHAR(50) NOT NULL,
SUBURB VARCHAR(50) NOT NULL,
STATE VARCHAR(5) NOT NULL,
ZIPCODE DECIMAL(4) NOT NULL,
CONSTRAINT EMPLOYEE_PKEY PRIMARY KEY(ENUM));
讓我的外鍵關係表,我想創建一個新的表名爲EMPNAME但有錯誤添加我的外國時鍵約束
CREATE TABLE EMPNAME(
ENUM DECIMAL(12) NOT NULL,
FNAME VARCHAR(50) NOT NULL,
INITIALS VARCHAR(5) NOT NULL,
LNAME VARCHAR(50) NOT NULL,
CONSTRAINT EMPNAME_PKEY PRIMARY KEY(ENUM),
CONSTRAINT EMPNAME_FKEY FOREIGN KEY(ENUM, FNAME, INITIALS, LNAME) REFERENCES EMPLOYEE(ENUM, FNAME, INITIALS, LNAME)
);
我沒有得到錯誤,如果我只設置主鍵枚舉作爲外鍵,但是當我使所有的屬性外鍵,我不斷收到錯誤。
感謝
你也可以發佈錯誤嗎? –
爲什麼你想提取名稱到一個單獨的表?需要考慮的兩件事:1)你可以有兩個或更多同名的員工,但他們是兩個不同的實體。 2)通過將名稱存儲在單獨的表中而獲得的存儲空間即使在有重複名稱的情況下也可忽略不計。一個額外的:你有一個名字的ID,爲什麼你使用所有的屬性字段來創建一個FK,這個ID有什麼問題? (使用屬性導致我們回到原來的問題:爲什麼你需要這張表?) – Pred