來自:
將customer替換為自己的表
id為自增欄位
使用sql server的自增功能來管理表的關鍵字,時間久後由於刪除原因id會不連續,如何重新「整理」關鍵字id,使其重新從1開始,並且重置自增初始值為當前記錄個數?
/*允許對系統表進行更新*/
exec sp_configure 'allow updates',1
reconfigure with overridego
/*取消標識列標記 */
update syscolumns set colstat = 0 where id = object_id('dbo.customer') and colstat = 1go
/*所有對記錄的id進行重排*/
update dbo.customer
set id=(select count(1) from dbo.customer where id<=t.id)
from dbo.customer tgo
/*得到重排後的記錄總個數*/
declare @a int
set @a=(select count(*) from dbo.customer)
/*重新設定標識的起始值*/
dbcc checkident (customer, reseed, @a)go
/*恢復標識列標記*/
update syscolumns set colstat = 1 where id = object_id('dbo.customer') and name = 'id'
go
/*禁止對系統表進行更新*/
exec sp_configure 'allow updates',0
reconfigure with override
關於sql語句查詢 top關鍵字
top關鍵字 1 首先引用一位出錯的例子,sql select top 30 from data where title title1 order by id desc 分析出錯原因 sql語句裡同時存在 where 和top 語句的時候,並且where條件列不是合適的索引,程式執行的是全表掃瞄,首...
使用 EXPLAIN 關鍵字 檢查SQL語句效率
explain詳細說明 通過explain可以知道mysql是如何處理語句,分析出查詢或是表結構的效能瓶頸。通過expalin可以得到 1.表的讀取順序 2.表的讀取操作的操作型別 3.哪些索引可以使用 4.哪些索引被實際使用 5.表之間的引用 6.每張表有多少行被優化器查詢 通過explain s...
jfinal中sql語句中的in關鍵字
1.錯誤寫法 listlist db.find select id from b product detail phone where productid 123 and id not in 147,148 查詢結果包括148,即引數並未全部識別147,148,僅識別了147,無法分辨是幾個引數。正...