数据库主键的自动增长之总结
糾結了好久,不知道數據庫主鍵該如何使用,進行數據庫插入操作時,不知道怎么使處于主鍵的列自動進行增長,下面簡單介紹一下,【SqlServer 2008數據庫軟件使用sql語句創建表的相關事項】主鍵的自動增長:
方式一:
設置“主鍵”的sql語句:primary key
標識符:使得進行數據庫表插入操作時,使主鍵自動增長,語句是:identity(1,1)
1、使用sql語句進行創建表:
create table student(
    id int identity(1,1) primary key,//主鍵的設置,還有主鍵的自動增長
    sid varchar(40) not null,
    sname varchar(30) not null
)
執行一下:創建表成功
創建自動增長的主鍵表的具體方式:
詳見:http://www.cnblogs.com/joeblackzqq/archive/2011/01/24/1943584.html
然后進行插入操作:
insert into student (id,sid,sname) values ('232','哈哈')//或者insert into student (id,sid,sname) values (1,'232','哈哈')
//上面的兩種插入語句都不可以,都會報錯的,因為id是主鍵,不能為空;是標識符,不需要插入這列的數據,系統會自動的添加數據列的數據。
//所以,正確的寫法是:
insert into student (sid,sname) values('2020','gaga')
得到的結果就是:
方式二:
項目中,每個表中都會有好多個字段名,為了使讀效果增加,一般都會增加主鍵,然后主鍵自動增長(只是起到一個計數的作用而已),這就會省很大的事。
在設計表的時候就需要增加“主鍵”且還需要“標識列”,這樣子在進行插入操作的時候就可以直接將其字段名省略掉;
比如:
注意一:在編寫sql語句時:其中flowId是主鍵,其他的都是普通的字段名 【sql語句中是沒有flowId字段名的;】
insert into dbo.Hishop_OrderRetuenFlow (RetuId, OrderId, LinkMan, LinkTel)
values (#retuid:VARCHAR#, #orderid:VARCHAR#, #linkman:VARCHAR#, #linktel:VARCHAR#)
注意二:在進行插入操作時,寫url路徑時,其中插入的字段的值,也不需要寫主鍵的【易錯點】
注意三:在進行前后臺交互時,也不需要對此字段名進行命名或賦值什么的
方式三:
在創建不同類型的數據庫,也會有不同的設置“主鍵、且主鍵自動增長”的方式: 如下
其中Mysql數據庫創建主鍵且主鍵自動增長時,可以直接對字段設置;然而Oracle數據庫則不行,需要使用sequence(序列),實現主鍵的自動增長;
詳細見:http://blog.csdn.net/java3344520/article/details/4907591,{在oracle下觸發器實現主鍵自增}
總結
以上是生活随笔為你收集整理的数据库主键的自动增长之总结的全部內容,希望文章能夠幫你解決所遇到的問題。
                            
                        - 上一篇: spark入门_入门必读 | Spark
 - 下一篇: altium pcb 信号高亮_在PCB