在已有的数据的表中添加自增列
在查询结果中添加自增列的两种方法
解决办法《一》:
在SQL Server数据库中表信息会用到Identity关键字来设置自增列。
但是当有数据被删除的话,自增列就不连续了。
如果想查询出这个表的信息,并添加一列连续自增的ID,可用如下查询语句:
SELECT Row_Number() over ( order by getdate() ) as init , * FROM 表名
解决办法《二》:
使用关键字IDENTITY创建临时表
SELECT IDENTITY(int,1,1) as Nid,* INTO #T FROM 表名 SELECT * FROM #T
在已有的数据的表中添加自增列
alter table 表名 add 列名 int IDENTITY(1,1) NOT NULL
但是如上脚本不能够在表中有数据的时候执行
INSERT INTO [dbo].[HanTingDataAnalyzer]
SELECT Row_Number() over ( order by [CreateDate] ) as ID , [HotelID]
,[HotelName]
,[HotelNameEn]
,[CityID]
,[CityName]
,[Nation]
,[Telephone]
,[Address]
,[Fax]
,[Zip]
,[RoomCount]
,[checkInDate]
,[checkOutDate]
,[IsOpening]
,[HeaderPhoto]
,[Lng]
,[Lat]
,[RoomTypeID]
,[RoomTypeName]
,[MarketPrice]
,[HotelLowestPrice]
,[Price]
,[ExchangePoint]
,[CreateDate] FROM [dbo].[HanTingDataAnalyzer] WHERE ID IS NOT NULL
#检查数量
SELECT COUNT(1) FROM [dbo].[HanTingDataAnalyzer]
#删除老的数据
DELETE FROM [dbo].[HanTingDataAnalyzer] WHERE ID IS NULL