sql修改字段为自增
1. sql中如何用alter将一个字段定义为自增
不可以这么做的,你可以另外增加一列作为自动递增列,再把原来的列删除.但自动增加字段是不能用字符型的,要用数字型才可以.
先进入企业管理器把列msgi删除.
添加一列,自动递增:
alter table LVW add msginumeric(24) identity(1,1)
2. SQL语句如何修改一个表的一个字段为自动增长列
如果该字段不是主键,需要先设置该字段为主键:
alter table 表名 add primary key(字段名);
修改字段为自动增长
alter table 表名 change 字段名 字段名 字段类型 auto_increment;
3. sql server中把一列改为自增长的语句怎么写
sqlserver中把一列改为自增长的语句怎么写的方法。
如下参考:
1.首先,我们准备一个数据表,然后将向表中添加列,如下图所示。
4. sqlserver将某字段更新成自增型的sql语句
自增列不能修改,只能删除或者添加
所以对应的就只能先删除该列,然后再添加列,添加时赋值属性为标识列
创建新列后会自动填充数字
5. 同sql语句把主键修改为自增
你可以这样操作:
先删除外键约束-->再删除主键约束--->然后在增加自增列即可.
6. mySQL中如何修改列为自动增长急!!!
alter table questionlib modify idint(11) auto_increment;
注意事项:
修改后从下一条记录开始自动增长。如果想让原来的自动增长就得复制现有表的结构(无id),添加id并加上AUTO_INCREMENT,然后通过循环,添加n条空记录,然后对应先前表的id,依次插入数据。
(6)sql修改字段为自增扩展阅读:
mysql自动增长开始值设置总结
1、创建表,设置表主键id自动增长,默认自动增长的起始值为1开始。
2、当表数据不为空的时候,重新去修改自动增长id开始值,mysql会主动去核对你设置的起始值是否是当前数据库已有id的最大值+1; 若是则修改成功,若不是则修改不成功 (默认还是id最大值+1)
3、要设置自动增长为1开始,需要清空表数据才行。alter table table_name AUTO_INCREMENT=1
4、若每次直接在数据库里面插入数据,则会自动的去修改当前表的自动增长起始值(设置自动增长起始值为当前插入成功的数据的id)
7. 如何用sql语句将一个表的字段改为主键自增
--为一个表添加一个主键约束
_TREEINFOPRIMARYKEY(ID);
--无法修改现有字段为自增字段,只能在建表时标注字段自增,如
CREATETABLEMYTABLE(
IDINTPRIMARYKEYIDENTITY(1,1),
NAMEVARCHAR(20),
...
);
8. sql 修改某列 为自增字段
=======================
那更简单了,我还以为你有数据呢..
先删除外键约束,然后删除B列,然后新增一个自增的B列,然后添加约束..
OK..
=======================
/*--将表中的某个字段转换成标识字段,并保留原来的值
注意,因为要删除原表,所以,如果表和其他表的关联,这些关联要重新创建
--邹建 2003.12--*/
/*--调用示例
exec p_setid '表名','要转换的字段名'
--*/
CREATE PROC P_SETID
@tbname sysname, --要处理的表名
@fdname sysname --要转换为标识字段的字段名
as
declare @s1 varchar(8000),@s2 varchar(8000),@tmptb sysname
select @s1='',@s2='',@tmptb='[tmp_'+@tbname+'_bak]'
select @s1=@s1+',['+name+']'
+case name when @fdname then '=identity(bigint,1,1)' else '' end
,@s2=@s2+',['+name+']'
from syscolumns where object_id(@tbname)=id
select @s1=substring(@s1,2,8000),@s2=substring(@s2,2,8000)
exec('select top 0 '+@s1+' into '+@tmptb+' from ['+@tbname+']
set identity_insert '+@tmptb+' on
insert into '+@tmptb+'('+@s2+') select '+@s2+' from ['+@tbname+']
set identity_insert '+@tmptb+' off
')
exec('drop table ['+@tbname+']')
exec sp_rename @tmptb,@tbname
go
--使用测试
--创建测试的表
create table 表(编号 bigint,姓名 varchar(10))
insert into 表
select 1,'张三'
union all select 2,'李四'
union all select 4,'王五'
go
--调用存储过程,将编号字段改为标识字段
exec p_setid '表','编号'
go
--显示处理结果
select * from 表
--显示是否修改成功
select name from syscolumns
where object_id('表')=id and status=0x80
go
--删除测试
drop table 表
9. sql sever中如何将一列修改为自增长列
原来有个表news,id是主键,但不是非主键,现在需要将其修改为主键,方法如下: 对原有的id列是无法直接将其修改为主键的,必须间接地来实现,具体如下: 首先增加一个新列并定义为自增长列alter table news add id1 int Identity(1,1) not null 然后再资源管理器中右击news表,选择修改,将id列删除,并将id1修改为id即可,当然这个过程也可以通过sql语句来实现
10. sql server 如何修改一个字段为自增字段
自增列不能直接修改,必须将原有ID列删除,然后重新添加一列具有identity属性的ID字段。比如你要修改的
字段名
为ID: