如何用sql語句實現欄位自增

2021-04-02 12:00:56 字數 499 閱讀 1510

如何用sql語句實現欄位自增  

如果從表中讀到字段最大值  0003  

增加一條記錄  字段值  為  0004  

select  right('000'+rtrim(cast(isnull(max(field1),0)  as  int)+1),4)  from  tablename

觸發器,如果一次只加一條,(欄位名為id,假定default值為'')  

declare  @maxid  int,@newid  char(4)  

select  @maxid=cast(max(id)  as  int)+1  from  mytable  

set  @newid=right(cast(10000+@maxid as  varchar(5)),4)  

update  mytable  set  id=@newid  where  id=''  

一次加多條可能不易實現,因為可能插入的資料中有兩條完全相同,update後id將重複。

SQL 自增字段的修改

sql2005中自增欄位預設情況下是沒法修改的 那麼在資料遷移中怎麼解決自增字段修改的問題呢?在sql中使用 identity insert 開關 允許將顯式值插入表的標識列中。identity insert 開關 起到的作用是開啟自增字段標識列,允許插入資料 例 表book 有自增欄位book i...

如何在Select語句中增加自增字段

不能改欄位,要在select語句中實現第一列是自增的,也就是原欄位不變,只是在查詢結果中加一列自增列。用select來做。1 select identity int,1,1 as iid,into tmp from 表 select from tmp 2 如果有關鍵字段 select select ...

字段 新增hive Hive如何實現自增序列

hive實現自增序列及元資料問題 mp.weixin.qq.com 在利用資料倉儲進行資料處理時,通常有這樣乙個業務場景,為乙個hive表新增一列自增字段 比如事實表和維度表之間的 主鍵 雖然hive不像rdbms如mysql一樣本身提供自增主鍵的功能,但它本身可以通過函式來實現自增序列功能 利用r...