执行数据库时出现:消息 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' 中插入重复键。
语句已终止。
...全文
2119 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
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了,你查询看看

22,206

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧