我試圖在一個腳本中創建2個表。第一個是帶有主鍵的圖像表,第二個是具有鏈接到圖像表ID的外鍵的文章表。代碼:SQL:在一個腳本中創建多個從屬表
IF NOT EXISTS(SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME LIKE 'Image')
CREATE TABLE [Image]
(
[ImageId] INT IDENTITY(1,1) NOT NULL,
[FileName] NVARCHAR(20) NOT NULL,
[ImageData] VARBINARY(MAX) NOT NULL,
CONSTRAINT PK_ImageId PRIMARY KEY CLUSTERED (ImageId ASC)
ON [PRIMARY]
)
IF NOT EXISTS(SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME LIKE 'Article')
CREATE TABLE Article
(
ArticleId INT IDENTITY(1,1) NOT NULL,
CreatedAt DATE NOT NULL
CONSTRAINT D_ArticleDate DEFAULT GETDATE(),
Title NVARCHAR(20) NOT NULL,
Body NVARCHAR(MAX) NOT NULL,
MainImageId INT NULL,
CONSTRAINT PK_ArticleId PRIMARY KEY CLUSTERED (ArticleId ASC)
ON [PRIMARY],
CONSTRAINT FK_MainImageId FOREIGN KEY (MainImageId) REFERENCES [Image] (PK_ImageId)
)
如果我運行圖像查詢它運行良好。如果我然後運行文章查詢它運行良好。如果我一次運行兩個查詢,我會得到以下錯誤:
外鍵'FK_MainImageId'在引用表'Image'中引用無效列'PK_ImageId'。
有沒有辦法在一個腳本中做到這一點?
這就是問題所在。我引用了錯誤的東西。謝謝! – VARAK 2011-04-08 17:19:27