我有一个超过30000行的表。
我需要使用需要此类输出的SQL查询来更新表。
初始表: -
1 , 1 , a ,b
2 , 1 , b ,c
3 , 1 , c ,d
....
50 , 1 , b ,n
51 , 2 , f ,y
52 , 2 , g ,o
53 , 2 , t ,t
....
....
100, 2 , f, h
输出应该是这样的: -
1 , 1 , a ,b
2 , 1 , b ,c
3 , 1 , f ,r(new row)
4 , 1 , c ,d
....
51 , 1 , b ,n
52 , 2 , f ,y
53 , 2 , g ,o
54 , 2 , r ,t(new row)
55 , 2 , t ,t
....
....
102, 2 , f, h
因此,当我们根据第二列(某种类型的问题ID)输入数据时,应该更改基本上自动递增的第一列(主键)。
我已经看到并提到了这个问题(SQL How to insert a new row in the middle of the table,MySQL syntax for inserting a new row in middle rows?,Insert data in the middle of any table),但它们为较小的表提供了解决方案,而我有一个包含超过30000行的表。
任何人都可以给我任何建议吗?
仅供参考: - 我使用的是Microsoft SQL Server。
答案 0 :(得分:0)
然后你可以使用这个
SET IDENTITY_INSERT Table_Name ON
--Your insert queries over here
SET IDENTITY_INSERT Table_Name OFF
并确保您没有违反主键意味着您的主键列数据必须是唯一的。