2016-11-08 182 views
0

我試圖創建一個表,但它有5個外鍵,並且在排序時遇到了問題。沒有使用任何約束和不斷收到錯誤「外鍵約束的格式不正確」這裏的表:SQL:創建多個外鍵和約束

CREATE TABLE wines(
    wine_ID CHAR(7), 
    color_code CHAR(1), 
    country_code CHAR(6), 
    grape_variety_code CHAR(9), 
    region_code CHAR(4), 
    vineyard_code CHAR(8), 
    wine_name VARCHAR(100), 
    price VARCHAR(5), 
    PRIMARY KEY (wine_ID), 
    CONSTRAINT FK_reColors FOREIGN KEY (color_code) REFERENCES refColors(color_code), 
    CONSTRAINT FK_refCountry FOREIGN KEY (country_code) REFERENCES refCountry(country_code), 
    CONSTRAINT FK_refGrapeVariety FOREIGN KEY (grape_variety_code) REFERENCES refGrapeVariety(grape_variety_code), 
    CONSTRAINT FK_refRegions FOREIGN KEY (region_code) REFERENCES refRegions(region_code), 
    CONSTRAINT FK_refVineyard FOREIGN KEY (vineyard_code) REFERENCES refVineyard(vineyard_code) 
); 
+0

確保父表具有相似的數據類型 –

回答

0
CREATE TABLE wines(
wine_ID CHAR(7) IDENTITY(1,1) NOT NULL,, 
color_code CHAR(1) NULL, 
country_code CHAR(6) NULL, 
grape_variety_code CHAR(9) NULL, 
region_code CHAR(4) NULL, 
vineyard_code CHAR(8) NULL, 
wine_name VARCHAR(100) NULL, 
price VARCHAR(5)NULL, 
CONSTRAINT [PK_Contact] PRIMARY KEY CLUSTERED 
    (
     [wine_ID] ASC 
    )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY] 
) ON [PRIMARY] 

GO 
SET ANSI_PADDING OFF 
GO 


ALTER TABLE [dbo].[refColors] WITH CHECK ADD CONSTRAINT [FK_reColors] FOREIGN KEY([color_code]) 
REFERENCES [dbo].[refColors] ([color_code]) 
GO 

.... 添加還有其他FKS這樣