Ⅰ 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;
/