1. 程式人生 > 其它 >char型別標識欄位

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