當前位置:首頁 » 編程語言 » sql修改自增列
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sql修改自增列

發布時間: 2022-12-11 17:12:57

sql 修改某列 為自增欄位

自增列不能直接修改,必須將原有id列刪除,然後重新添加一列具有identity屬性的id欄位。比如你要修改的欄位名為id:

alter
table
表名
drop
column
id

alter
table
表名
add
id
int
identity(1,1)

Ⅱ sql修改數據表結構的自增列

insert into dbo.A_2012 select 欄位1,欄位2,欄位3 from [dbo].A where read='true'

就不要插入id 這個欄位,它會自動增加的

Ⅲ sql的自增列如何重置

--操作的過程中,注意一點,標識列自增是不能修改的,那麼首先
--去除該列自增的標識,然後再修改id,成功修改後,再加上標識
--r如果不修改標識,會報錯:「無法更新標識列」

create table #a
(ids int,
names varchar(100)
)

--插入測試數據,序號從100開始的,表示你當前表的情況
declare @a int
set @a=100
while @a<200
begin
insert #a(ids)
select @a
set @a=@a+1
end

--假定還有一個#b表也引用了該序號
--插入測試數據到#b
select ids n_id,names ff into #b from #a

--好,現在開始處理序號問題了,用臨時表#tmp過渡
--這里用了一個標識列,請注意!
--將帶一個新的序列的數據插入到表#tmp中
select identity(int,1,1) flag, * into #tmp from #a

--看看結果是不是有了新的序列了,呵
select * from #tmp

--那麼現在就利用#tmp表來更新所有用到該序列的表

--更新#a
update #a set ids=flag from #a a,#tmp b where a.ids=b.ids

--更新其他表引用了該序列的,比如#b
update #b set n_id=flag from #b a,#tmp b where a.n_id=b.ids

Ⅳ sql server中把一列改為自增長的語句怎麼寫

sql
server
中普通欄位修改為自增欄位時,如圖:
把否修改為是:
按ctrl+S時報:
這時應:
去掉對勾
確定。
回到設計表中再次按ctrl+s保存欄位自增。

Ⅳ 同sql語句把主鍵修改為自增

這個基本不可以了,使用修改表沒有類似的操作,如果要想得到這個結果,建議還是在企業管理器中使用界面修改吧,但是命令的話基本沒有類似的操作,只能等其他高手來了哈
那比較麻煩了,在修改表中操作就不行了,建議你這么做,先將你的關聯的所有的表進行數據備份,這個可以用select
into
來做,然後將這些表刪除,重新創建帶有自增列的表,再把數據轉回來,就可以了。也可以先將外鍵刪除,直接針對這個表這么操作。再還原外鍵也行!

Ⅵ sql server中把一列改為自增長的語句怎麼寫

sqlserver中把一列改為自增長的語句怎麼寫的方法。

如下參考:

1.首先,我們准備一個數據表,然後將向表中添加列,如下圖所示。

Ⅶ SQL語句如何修改一個表的一個欄位為自動增長列

如果該欄位不是主鍵,需要先設置該欄位為主鍵:

alter table 表名 add primary key(欄位名);

修改欄位為自動增長

alter table 表名 change 欄位名 欄位名 欄位類型 auto_increment;

Ⅷ 在SQL中要怎樣設置自增列

2005?打開SQL Server Management Studio,打開資料庫之後,在選中的表上點「修改」,在選中需要設置為自增的欄位,在右下方的表設計器里選擇「標識規范」,(如下圖:)選「是」,就設定好了。

Ⅸ plsql中如何將一張表的一列修改為自增的數列

oracle沒有ORACLE自增欄位這樣的功能,但是通過觸發器(trigger)和序列(sequence)可以實現。
create table t_client (id number(4) primary key,
pid number(4) not null,
name varchar2(30) not null,
client_id varchar2(10),
client_level char(3),
bank_acct_no varchar2(30),
contact_tel varchar2(30),
address varchar2(30),
zip_code varchar2(10),
is_leaf char(1) default 'y' check (is_leaf in('y','n')),
is_client char(1) default 'n' check (is_client in('y','n')
));

假設關鍵欄位為id,建一個序列,代碼為:
create sequence seq_t_client_id
minvalue 1
maxvalue 99999999
start with 1
increment by 1
nocache
order;
建解發器代碼為:
CREATE OR REPLACE TRIGGER trg_t_client_id
BEFORE INSERT ON t_client
FOR EACH ROW
BEGIN
SELECT seq_t_client_id.nextval INTO :new.id FROM al;
END;
/