执行数据库时出现:消息 2627,级别 14,状态 1

hulinjun88 2015-09-08 04:34:30
USE QPGameMatchDB
GO

-----------------------------------------------------------------------------------------------------------

INSERT [GameColumnItem] ([SortID],[ColumnName],[ColumnWidth],[DataDescribe]) VALUES ( 1,'昵称',100,3)
INSERT [GameColumnItem] ([SortID],[ColumnName],[ColumnWidth],[DataDescribe]) VALUES ( 2,'ID',60,1)
INSERT [GameColumnItem] ([SortID],[ColumnName],[ColumnWidth],[DataDescribe]) VALUES ( 3,'积分',60,30)

执行后显示:
消息 2627,级别 14,状态 1,第 4 行
违反了 PRIMARY KEY 约束 'PK_GameColumnItem_SortID'。不能在对象 'dbo.GameColumnItem' 中插入重复键。
语句已终止。
消息 2627,级别 14,状态 1,第 5 行
违反了 PRIMARY KEY 约束 'PK_GameColumnItem_SortID'。不能在对象 'dbo.GameColumnItem' 中插入重复键。
语句已终止。
消息 2627,级别 14,状态 1,第 6 行
违反了 PRIMARY KEY 约束 'PK_GameColumnItem_SortID'。不能在对象 'dbo.GameColumnItem' 中插入重复键。
语句已终止。
...全文
741 点赞 收藏 16
写回复
16 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
Tiger_Zhao 2015-09-10
没问题啊。
这只是日志信息,又不是错误。
回复
Tiger_Zhao 2015-09-09
TRUNCATE TABLE [GameColumnItem]

把第一句SELECT换成这个,清空后重新插入就没问题了。
回复
hulinjun88 2015-09-09
引用 12 楼 hulinjun88 的回复:
[quote=引用 11 楼 Landa_Alice 的回复:] [quote=引用 10 楼 hulinjun88 的回复:] [quote=引用 9 楼 Landa_Alice 的回复:] [quote=引用 6 楼 hulinjun88 的回复:] [quote=引用 3 楼 Landa_Alice 的回复:] 你的主键是不是SortID?如果是你就select SortID from GameColumnItem 看一看查出来的SortID中有没有你要插入的数据的SortID,比如你现在需要插入的数据SortID是1,2,3,那么你就需要看看表中是否已经有了1,2,3 如果有那么肯定插不进去数据的,你需要将要插入数据中的1,2,3替换成别的
我把select SortID from GameColumnItem 执行后显示这个(17 行受影响)[/quote] 那你看看 查询的结果是不是有1 2,3 啊,如果有就将插入的数据中的1,2,3替换掉[/quote] 是下面这个样子,你看下:[/quote] 你将select SortID from GameColumnItem 执行结果给我看不要执行插入语句[/quote][/quote] 怎么替换呢!用什么替换?
回复
hulinjun88 2015-09-09
引用 14 楼 Tiger_Zhao 的回复:
TRUNCATE TABLE [GameColumnItem]
把第一句SELECT换成这个,清空后重新插入就没问题了。
显示:行受影响应该是没有问题了吧
回复
hulinjun88 2015-09-08
引用 11 楼 Landa_Alice 的回复:
[quote=引用 10 楼 hulinjun88 的回复:]
[quote=引用 9 楼 Landa_Alice 的回复:]
[quote=引用 6 楼 hulinjun88 的回复:]
[quote=引用 3 楼 Landa_Alice 的回复:]
你的主键是不是SortID?如果是你就select SortID from GameColumnItem 看一看查出来的SortID中有没有你要插入的数据的SortID,比如你现在需要插入的数据SortID是1,2,3,那么你就需要看看表中是否已经有了1,2,3 如果有那么肯定插不进去数据的,你需要将要插入数据中的1,2,3替换成别的


我把select SortID from GameColumnItem 执行后显示这个(17 行受影响)[/quote]
那你看看 查询的结果是不是有1 2,3 啊,如果有就将插入的数据中的1,2,3替换掉[/quote]
是下面这个样子,你看下:[/quote]

你将select SortID from GameColumnItem 执行结果给我看不要执行插入语句[/quote]
回复
Pact_Alice 2015-09-08
引用 10 楼 hulinjun88 的回复:
[quote=引用 9 楼 Landa_Alice 的回复:] [quote=引用 6 楼 hulinjun88 的回复:] [quote=引用 3 楼 Landa_Alice 的回复:] 你的主键是不是SortID?如果是你就select SortID from GameColumnItem 看一看查出来的SortID中有没有你要插入的数据的SortID,比如你现在需要插入的数据SortID是1,2,3,那么你就需要看看表中是否已经有了1,2,3 如果有那么肯定插不进去数据的,你需要将要插入数据中的1,2,3替换成别的
我把select SortID from GameColumnItem 执行后显示这个(17 行受影响)[/quote] 那你看看 查询的结果是不是有1 2,3 啊,如果有就将插入的数据中的1,2,3替换掉[/quote] 是下面这个样子,你看下:[/quote] 你将select SortID from GameColumnItem 执行结果给我看不要执行插入语句
回复
hulinjun88 2015-09-08
引用 9 楼 Landa_Alice 的回复:
[quote=引用 6 楼 hulinjun88 的回复:]
[quote=引用 3 楼 Landa_Alice 的回复:]
你的主键是不是SortID?如果是你就select SortID from GameColumnItem 看一看查出来的SortID中有没有你要插入的数据的SortID,比如你现在需要插入的数据SortID是1,2,3,那么你就需要看看表中是否已经有了1,2,3 如果有那么肯定插不进去数据的,你需要将要插入数据中的1,2,3替换成别的


我把select SortID from GameColumnItem 执行后显示这个(17 行受影响)[/quote]
那你看看 查询的结果是不是有1 2,3 啊,如果有就将插入的数据中的1,2,3替换掉[/quote]
是下面这个样子,你看下:
回复
Pact_Alice 2015-09-08
引用 6 楼 hulinjun88 的回复:
[quote=引用 3 楼 Landa_Alice 的回复:] 你的主键是不是SortID?如果是你就select SortID from GameColumnItem 看一看查出来的SortID中有没有你要插入的数据的SortID,比如你现在需要插入的数据SortID是1,2,3,那么你就需要看看表中是否已经有了1,2,3 如果有那么肯定插不进去数据的,你需要将要插入数据中的1,2,3替换成别的
我把select SortID from GameColumnItem 执行后显示这个(17 行受影响)[/quote] 那你看看 查询的结果是不是有1 2,3 啊,如果有就将插入的数据中的1,2,3替换掉
回复
这个说明你的表 [GameColumnItem] 里已经有哪些数据了,比如:([SortID] 为1的,2的,3的都有了,所以插入就报错了。 你用这个命令 看一下表的结构吧: sp_help GameColumnItem
回复
giftzheng 2015-09-08
执行过一次的不用执行了
回复
hulinjun88 2015-09-08
引用 3 楼 Landa_Alice 的回复:
你的主键是不是SortID?如果是你就select SortID from GameColumnItem 看一看查出来的SortID中有没有你要插入的数据的SortID,比如你现在需要插入的数据SortID是1,2,3,那么你就需要看看表中是否已经有了1,2,3 如果有那么肯定插不进去数据的,你需要将要插入数据中的1,2,3替换成别的
我把select SortID from GameColumnItem 执行后显示这个(17 行受影响)
回复
qq_17482963 2015-09-08
就是說你的表裏的SortID字段是主鍵,就是不能有重複的值
回复
zbdzjx 2015-09-08
先执行一下select [SortID] from [GameColumnItem] ,看结果中有没有值为1、2、3的行。
回复
Pact_Alice 2015-09-08
你的主键是不是SortID?如果是你就select SortID from GameColumnItem 看一看查出来的SortID中有没有你要插入的数据的SortID,比如你现在需要插入的数据SortID是1,2,3,那么你就需要看看表中是否已经有了1,2,3 如果有那么肯定插不进去数据的,你需要将要插入数据中的1,2,3替换成别的
回复
hulinjun88 2015-09-08
引用 1 楼 Landa_Alice 的回复:
你违反了主键唯一约束啊,是不是彪GameColumnItem里已经存在相同的ID了,你查询看看
怎么查这个ID,不是很明白
回复
Pact_Alice 2015-09-08
你违反了主键唯一约束啊,是不是彪GameColumnItem里已经存在相同的ID了,你查询看看
回复
相关推荐
发帖
疑难问题
创建于2007-09-28

2.1w+

社区成员

MS-SQL Server 疑难问题
申请成为版主
帖子事件
创建了帖子
2015-09-08 04:34
社区公告
暂无公告