char类型标识字段

GPS平台、网站建设、软件开发、系统运维,找森大网络科技!
https://cnsendnet.taobao.com
来自森大科技官方博客
http://www.cnsendblog.com/index.php/?p=2020

ql server数据库 主键怎么自动生成
表1-1 表名: student(学生信息表)
字段名称 类 型 宽 度 允许空值 主 键 说 明
sno char 9 NOT NULL 是 学生学号 061201204
sname char 10 NOT NULL 学生姓名
sex char 2 NULL 学生性别 填1 或 2
native char 20 NULL 籍贯
birthday date 6 NULL 学生出生日期
dno char 2 NULL 学生所在院系编号(外键
spno char 2 NULL 专业代码
Picture Char 40 Not null 照片
Zzmm Char 2 Null 政治面貌 // 团员
classno char 4 NULL 班级号
entime date 6 NULL 学生入校时间 //
home varchar 50 NULL 学生家庭住址
tel varchar 40 NULL 学生联系电话

表结构如上
当我的数据库里有200条记录了 我要新插入一条记录时 用insert的时候 学号(主键)怎么确定 我看网上说 定义int 类型的主键设置标识为是 就能自动加1 但是 如果 主键就是 字符型的 还有其他方法 自动生成吗
原来学数据库原理时候 老师都是像上面那样建的表

回复一:
默认值定义成一个函数呗。
自定义一个函数
create function getid()
returns varchar(50)
as
begin
—create @yourid here

return @yourid
end

把字段的默认值设为dbo.getid()

回复二:
数据库中要自动生成主键,只能是int类型。你要自动生成学号主键的话,可以自己编写程序实现。

回复三:
主键和自动编号不是一个意思,自动编号在sqlserver选中为标识 就可以自动加一,主键也可以定义,但不是一个意思,主键即使你定义,你不调设为标识不会自动加一,在oracle自动编号字符串类型的

回复四:
可以通过SQL语句来实现 ,
举个例子你看看:
declare @sno char (10) ,@id int
set @sno=(select top 1 sno from student order by sno desc)
set @id=convert(int,@sno)
insert into student (sno) values(@id+1)

GPS平台、网站建设、软件开发、系统运维,找森大网络科技!
https://cnsendnet.taobao.com
来自森大科技官方博客
http://www.cnsendblog.com/index.php/?p=2020

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值