关于微信的信息网删除才恢复不了上的所有信息都忘了但是红包里有一干元有什么办法可以把这一

怎么将类型为varchar(10)的字段设置为自增 - Sql Server当前位置:& &&&怎么将类型为varchar(10)的字段设置为自增怎么将类型为varchar(10)的字段设置为自增&&网友分享于:&&浏览:0次如何将类型为varchar(10)的字段设置为自增?版本及环境为:Microsoft&SQL&Server&2008&(SP3)&-&10.0.5500.0&(X64)&
Enterprise&Edition&(64-bit)&on&Windows&NT&6.0&&X64&&(Build&6001:&Service&Pack&1)
现有一个表A&字段名为BATCH_NO&&类型为varchar(10)not&null;&&如何将这个字段设置为自增?------解决思路----------------------标识列的数据类型必须是&int、bigint、smallint、tinyint&或&decimal,或者是小数位数为&0&的&numeric&数据类型,并且约束为不可为&Null。
use&tempdb
if&object_id('test')&is&not&null
drop&table&test
create&table&test(num&int&identity(1,1),val&as&'A'+right(''+ltrim(num),9))
insert&into&test
default&values
select&*&from&test
------解决思路----------------------按你说的情况,好象只能用触发器来实现了。
下边的代码是一个例子,你主要是看看思路,执行以后可以见到效果
例子里的表test001中的id列就如你说的是nvarchar类型的
create&table&test001
id&nvarchar(10),
content&varchar(10)
--创建触发器
create&trigger&tg_test001
on&test001
instead&of&insert
declare&@content&nvarchar(10)
select&@content=&content&from&inserted
insert&into&test001(id,content)
select&cast(isnull(max(id),'0')&as&int)+1,@content
from&test001
--向表中插入数据
insert&into&test001&(content)&select&'a'
insert&into&test001&(content)&select&'b'
--选择察看插入效果
select&*&from&test001
go------解决思路----------------------把上面那个触发器的语句改了一下:
create&trigger&tg_test&
instead&of&insert
declare&@content&nvarchar(10)
select&@content=content&from&inserted
insert&into&test(id,content)
select&&'BH'+right(''+cast(cast(ISNULL(max(right(id,8)),'0')&as&int)+1&as&nvarchar),8),@content&from&test&
12345678910
12345678910
12345678910 上一篇:下一篇:文章评论相关解决方案 1234567891011 Copyright & &&版权所有当前位置:
MySQL&表&添加字段&auto_increment
本文介绍MySQL数据库使用SQL语句来在现有的表中,添加一个自动增长(auto_increment)字段。
本文介绍MySQL数据库使用SQL语句来在现有的表中,添加一个自动增长(auto_increment)字段。
所谓自动增长字段,是指一个表中的这样一类字段:它们的值是系统指定,不需要插入、也不能插入,并且还不能修改的字段。值可能从1开始,每增加一条记录,这个值就加1。很显示这样的字段非常适合来做表的索引ID。
下面,我们直接在现有的test表中,添加一个xx_id的字段,数据类型为int,指定为auto_increment。
mysql& alter table test add column xx_id int auto_
ERROR ): Incorr there can be only one auto column and it must be defined as a key
居然失败了!错误指示说:一个表中,最多只能有一个自动字段,并且这个自动字段还必须被定义为key。我想这里的自动字段就是指自动增长字段(auto_increment),而这里说的key,很有可能是primary key,即主键。
那我们就创建一个新表,然后,给它添加一个自动增长字段吧。
mysql& create table test2(name varchar(20) not null);
Query OK, 0 rows affected (0.09 sec)
创建表成功了。
mysql& alter table test2 add column id int auto_
ERROR ): Incorr there can be only one auto colum
n and it must be defined as a key
又失败了,应该是没有把这个id指定成key吧,改一下再来:
mysql& alter table test2 add column id int auto_increment not null, add primary key(id);
Query OK, 0 rows affected (0.23 sec)
Records: 0& Duplicates: 0& Warnings: 0
mysql& describe test2;
+-------+-------------+------+-----+---------+----------------+
| Field | Type&&&&&&& | Null | Key | Default | Extra&&&&&&&&& |
+-------+-------------+------+-----+---------+----------------+
| name& | varchar(20) | NO&& |&&&& | NULL&&& |&&&&&&&&&&&&&&& |
| id&&& | int(11)&&&& | NO&& | PRI | NULL&&& | auto_increment |
+-------+-------------+------+-----+---------+----------------+
2 rows in set (0.00 sec)
好了,这下子成功的成功的添加了一个自动增长字段,字段名为id,它具有auto_increment属性,并且是primary key(主键)。
关于MySQL中给表添加一个自动增长字段(auto_increment),本文就介绍这么多,希望对大家有所帮助,谢谢!
文章的版权
洪哥写文章很苦逼,如果本文对您略有帮助,点击感兴趣的广告支持洪哥!万分感谢!本文属于“洪哥笔记”原创文章,转载请注明来源地址:
关注与收藏
如果您在服务器运维、网络管理、网站或系统开发过程中有任何疑问,洪哥以此为饭碗,请加QQ:!
了解更多好文章,请关注我们的新浪微博和腾讯微博
亲,先存起来,方便以后再看啊!加入收藏夹的话,按Ctrl+D!
&&( 8:03:36)
&&( 23:00:18)
&&( 23:00:47)
&&( 11:08:34)
&&( 9:28:09)
&&( 10:54:08)
&&( 12:06:25)
&&( 15:33:57)
&&( 13:51:15)
&&( 10:51:54)
热门点击文章
洪哥推荐文章
友情链接:

我要回帖

更多关于 微信的信息网删除才恢复不了 的文章

 

随机推荐