我有以下问题:
我创建了两个表:
CREATE TABLE DimServers
(
[ID_DimServer] INT NOT NULL IDENTITY(1,1) PRIMARY KEY ,
[ServerName] VARCHAR(13) NOT NULL,
[Domain] VARCHAR(10) NOT NULL,
[PIT] VARCHAR(4),
[PhysicalMemoryMB] INT,
[AvailablePhysicalMemoryMB] INT,
[MemoryInUseMB] INT,
[CPU] INT,
[HyperthreadRatio] INT,
[SystemUpTime] VARCHAR(50),
[WindowsVersion] VARCHAR(50) NOT NULL
)
CREATE TABLE DimDrives
(
[ID_DimDrive] INT NOT NULL IDENTITY(1,1) PRIMARY KEY,
[DimServer_ID] INT FOREIGN KEY REFERENCES DimServers(ID_DimServer),
[Drive] VARCHAR(1) NOT NULL)
)在此之后,我使用来自另一个服务器的数据执行INSert:
INSERT INTO DimServers
(
[ServerName],
[Domain],
[PIT],
[PhysicalMemoryMB],
[AvailablePhysicalMemoryMB],
[MemoryInUseMB],
[CPU],
[HyperthreadRatio],
[SystemUpTime],
[WindowsVersion]
)
SELECT
sq.[ComputerNamePhysicalNetBIOS],
sq.[Domain],
sq.[PIT],
sq.[TotalPhysicalMemoryMB],
sq.[AvailPhysicalMemoryMB],
sq.[MemInUseMB],
sq.[cpu_count],
sq.[hyperthread_ratio],
sq.[SystemUpTime],
sq.[WindowsVersion]
FROM [x].[y].[dbo].[sqlsysinfo] as sq现在我不知道怎么做,如果它有外键的话。
发布于 2018-03-12 10:18:23
由于DimServers似乎不引用任何其他表,因此在该表中插入行不会有任何问题。
但是,DimDrives有一个对DimServers的外键引用。在DimDrives中插入任何行时,DimServer_ID列中的值必须存在于DimServers表的列ID_DimServer中。
如果试图在DimDrives表中插入DimServer_ID的列值在列ID_DimServer中的DimServers表中不存在的行,则会得到一个外键冲突错误
The INSERT statement conflicted with the FOREIGN KEY constrainthttps://dba.stackexchange.com/questions/199969
复制相似问题