首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

联合主键 安插报重复

2013-11-14 
联合主键 插入报重复SQL SERVER 2008 版本执行代码如下:IF OBJECT_ID(dbo.WaitStats) IS NOT NULLDROP T

联合主键 插入报重复

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;

没有重复键呀,这是为什么不给插入呢.想不明白,请高手指点,谢谢!
呵呵 你去先去掉约束,数据插完看看到底什么重复了

热点排行