主頁 > 知識庫 > Oracle與Mysql自動增長列(id)的區(qū)別

Oracle與Mysql自動增長列(id)的區(qū)別

熱門標簽:美圖秀秀地圖標注 開封智能外呼系統(tǒng)廠家 外呼線路外顯本地號碼 阿爾巴尼亞地圖標注app 征服者火車站地圖標注 人工智能地圖標注自己能做嗎 征服眼公司地圖標注 word地圖標注方向 百度地圖標注素材

這里所說的自動增長列,主要是指一個表中主鍵id的自動增長。

Oracle與Mysql不同,不能在CREATE建立表時設(shè)置自動增長列功能。

Oracle必須通過創(chuàng)建sequence序列來實現(xiàn)自動增加列的功能。

首先要建立序列(當然必須要先建好表,添加好主鍵約束,這列假設(shè)約束名為test_sequence)

                  create sequence test_sequence
                     [increment by 1]--增長的步長
                     [start with 1]--從幾開始增長
                     [maxvalue 100]--增長的最大值
                     [nomaxvalue]--不設(shè)最大值
                     [cycle|nocycle];--循環(huán)增長/不循環(huán)增長

定義了sequence以后就可以在insert語句中使用test_sequence.nextval和test_sequence.currval。
test_sequence.currval返回當前sequence的值,但必須在第一次初始化test_sequence.nextval后才能使用test_sequence.currval。
test_sequence.nextval會增加sequence的值,并返回增加后的sequence的值。

然后可以alter修改sequence序列,來改變自動增加的方式。
alter sequence test_sequence increment by 1 ...;后面的選項跟建表時一樣。

還可以用drop刪除sequence序列。
drop sequence test_sequence;

Mysql先對Oracle來說就簡單多了,可以在建表時進行設(shè)置。

復(fù)制代碼 代碼如下:

create table( id int(10) auto_increment primary key) auto_increment=1;

auto_increment=1設(shè)置自動增長列從1開始

您可能感興趣的文章:
  • 淺談Mysql、SqlServer、Oracle三大數(shù)據(jù)庫的區(qū)別
  • mybatis foreach批量插入數(shù)據(jù):Oracle與MySQL區(qū)別介紹
  • 淺析Oracle和Mysql分頁的區(qū)別
  • 簡述MySQL與Oracle的區(qū)別
  • Oracle10個分區(qū)和Mysql分區(qū)區(qū)別詳解
  • Oracle、MySQL和SqlServe三種數(shù)據(jù)庫分頁查詢語句的區(qū)別介紹
  • Oracle 和 mysql的9點區(qū)別
  • 解析mysql與Oracle update的區(qū)別
  • MySQL與Oracle的語法區(qū)別詳細對比
  • Oracle與Mysql主鍵、索引及分頁的區(qū)別小結(jié)
  • mysql和oracle的區(qū)別小結(jié)(功能性能、選擇、使用它們時的sql等對比)

標簽:宜春 淮南 酒泉 六安 孝感 泰安 海北 葫蘆島

巨人網(wǎng)絡(luò)通訊聲明:本文標題《Oracle與Mysql自動增長列(id)的區(qū)別》,本文關(guān)鍵詞  Oracle,與,Mysql,自動,增,長列,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Oracle與Mysql自動增長列(id)的區(qū)別》相關(guān)的同類信息!
  • 本頁收集關(guān)于Oracle與Mysql自動增長列(id)的區(qū)別的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章