编号在添加新数据的时候需要自动生字段必须用vachar但是用了vachar我怎么能给他自动编号呢、?

编号在添加新数据的时候需要自动生字段必须用vachar但是用了vachar我怎么能给他自动编号呢、?,第1张

说一下我对编号的经验,一般来说,自动编号适用于内码,也就是说,这个编号主要用来在程序流程之间进行关联的,它没有太多的可视化意义。如果该编号要求有可视化需求的话,自动编号一般就不合适了。比如,像楼主说的,用户要求以A打头,他们可能需要从这个编号中,看出一些信息,那就表示要有可视化意义了。

自动编号字段应该用整数类型的,比如int(integer)或者longint等。不能使用varchar类型。

解决楼主的问题的方法有两个,第一中方法像gzz_gzz所说的,自己写一个生成编号的函数,这个编号可以是varchar类型的了。

第二种方法是,如果A后面的数字没有可视化意义的话,或者说,用户对“A”后面的数字没有要求的话,可以考虑吧“A”存储到一个单独的字段中,在需要显示的地方,把两个字段的值合并成一个字符串显示给用户。

提示,如果根据现有的多个字段合并成一个字符串的话,最好写一个SQL函数,这样合并输出的功能就交给数据库服务器了,另外,别人用任何程序调用这个编号的方法也是一样的。

create table [dbo].[Nurun_ApplyGrantlog](

[ID] [int] IDENTITY(1,1) NOT NULL,

[Granttype] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NOT NULL,

CONSTRAINT [PK_NURUN_APPLYGRANTLOG] PRIMARY KEY CLUSTERED

(

[ID] ASC

)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]

) ON [PRIMARY]

这个是建表语句,修改表的话你只要照样画葫芦就可 ID这个字段就是你需要的 ,他会自动增长的

用下面的SQL命令:

ALTER TABLE 表名 ALTER COLUMN 你的字段ID COUNTER(开始值,步长)

你可能需要修改为(1,1),也就是从1开始编号,每次增加1


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/596019.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-07-09
下一篇2023-07-09

发表评论

登录后才能评论

评论列表(0条)

    保存