联合主键 插入报重复
SQL SERVER 2008 版本
执行代码如下:
IF OBJECT_ID('dbo.WaitStats') IS NOT NULL
DROP TABLE dbo.WaitStats;
GO
SELECT GETDATE() AS dt,
wait_type, waiting_tasks_count, wait_time_ms,
max_wait_time_ms, signal_wait_time_ms
into WaitStats
FROM sys.dm_os_wait_stats
WHERE 1 = 2;
GO
ALTER TABLE dbo.WaitStats ADD CONSTRAINT PK_WaitStats PRIMARY KEY(dt,wait_type);
CREATE INDEX idx_type_dt ON dbo.WaitStats(wait_type, dt);
GO
INSERT INTO WaitStats
SELECT GETDATE() as dt,
wait_type, waiting_tasks_count, wait_time_ms,
max_wait_time_ms, signal_wait_time_ms
FROM sys.dm_os_wait_stats;
查询结果:
(0 行受影响)
消息 2627,级别 14,状态 1,第 15 行
违反了 PRIMARY KEY 约束 'PK_WaitStats'。不能在对象 'dbo.WaitStats' 中插入重复键。
语句已终止。
我查询了
SELECT GETDATE() as dt,
wait_type, waiting_tasks_count, wait_time_ms,
max_wait_time_ms, signal_wait_time_ms
FROM sys.dm_os_wait_stats;
没有重复键呀,这是为什么不给插入呢.想不明白,请高手指点,谢谢!
呵呵 你去先去掉约束,数据插完看看到底什么重复了