設計表時,ID欄位在資料庫中設定為自增好嗎?能詳細說明原因嗎

時間 2021-10-16 11:02:39

1樓:匿名使用者

設計表時對於唯一標識欄位根據資料表的增長情況可以選擇是自增還是newid(sqlserver);自增整型欄位對於表資料行很大的情況下不建議用,因為總會有數值不夠用的時候;但自增欄位有個好處,對於流水記錄可以很方便記錄順序記錄;另外時間戳也是個不錯的選擇;

另外選擇newid(sqlserver)即guid,唯一標識號,為字串型別,這個有個好處就是不用擔心欄位值不夠用,但此欄位值佔用表儲存空間較大,在sqlserver中查詢效率與自增列基本一樣;一般用於關心順序,但需要唯一標識一筆記錄行,且資料表很大的情況,當然也可以什麼表都使用此型別來做唯一標識(不考慮儲存空間的話);

另外自增數值列可以用作表分割槽的方案,如(每100萬分一個表),但newid不行;

(希望此資訊對你有用)

2樓:匿名使用者

個人感覺自增的id列比較方便,少量資料查詢速度快,不會有衝突id出現。但是如果資料量比較大的表,最好是人工新增的如使用newid()

3樓:下揚州啊

這要看你的業務流程

因為這種自增的id實際上是沒有意義的,僅僅是一個標識而已

資料庫表id怎麼設定自動增長

4樓:123楊大大

方法如下:

1、進入設計表介面,右鍵你的設計表,找到你的id欄位(類int型),將該欄位的資料型別選成數值型的,比如decimal或者bigint;

2、然後在下面列的標識處,選擇「是」在下面兩行,標識種子:表示自動增長的起點是幾,預設1;

3、標識增量:表示每次自增的時候跨度是多少,預設每次自增1,這樣就設定完成了。

5樓:李奉山

進入設計表介面

首先將該欄位的資料型別選成數值型的,比如decimal或者bigint

然後在下面列的標識處,選擇「是」

然後下面兩行,標識種子:表示自動增長的起點是幾,預設1標識增量:表示每次自增的時候跨度是多少,預設每次自增1

6樓:du瓶邪

右鍵你的表-->設計表-->找到你的id欄位(類int型)-->標識-->是-->標識種子(初始值)-->標識遞增量-->ok!

7樓:匿名使用者

id    int   identity(1,1)

資料庫如何設定主鍵(id)自動增長啊(sql語句)?

8樓:匿名使用者

在建立表的時候可以設定,方法如下,用一下sql語句。create table tablename(id int identity(1,1) primary key,data varchar(50))

解釋:其中identity(1,1)代表專自增,第一個1代表從

屬1開始計數,第二個1代表每次增長1。

9樓:匿名使用者

如果是新增列可以如下

alter table table1 add id int identity not null;

如果是修改,可到ssms中選中該欄位,然後點修改,在右邊最下方修改「標識」為是

10樓:

sql2005起,不再支援從**修改為自增長列!但可以在企業管理器裡改

11樓:琢在呢

自動增抄長列(auto_increment)

sqlserver資料庫

襲 (identity) oracle資料庫( sequence)

給主鍵新增自動增長的數值,列只能是整數型別

create table stu(

classid int primary key auto_increment,

name varchar(50)

);auto_increment是用於主鍵自動增長的,從1開始增長,當你把第一條記錄刪除時,再插入第二跳資料時,主鍵值是2,不是1

insert into student(name) values(『abc』);

閆焱琢.

mysql資料庫如何為表中已有的主鍵欄位增加自增屬性?sql語句怎麼寫

12樓:匿名使用者

你建立表的時候就應該建立id-->id int primary key auto_increment

如果應經建立成功

alter table `tablename`modify column `fieldname`varchar(14)

13樓:匿名使用者

alter table `category ` modify column `id` int(11) not null auto_increment first ,add primary key (`id`);

試試吧,應該是這樣子

14樓:一個網際網路使用者

alter table category modify id int auto_increment primary key

15樓:匿名使用者

alter table `category` modify `id` int primary key auto_increment;

或者alter table `category` change `id` int primary key auto_increment;

在資料庫設計時,存在多張表有關係時該怎麼設計為最優

所謂的三正規化瞭解就行,完全照做死得快 像你這種表,一定要先定義需求 比如使用者有多個角色,就需要建立一個使用者角色對應表比如使用者只有一個角色,那在使用者表加個欄位就行另外最好不要弄什麼外來鍵之類的,原來我也弄,後來煩得要死,總是約束錯誤之類的,編個程式都不省心,結果全給去了,只要邏輯沒有錯誤,資...

oracle資料庫表增加欄位,oracle資料庫中怎樣對多個表增加欄位

會,比如 說增加了欄位,你 insert into table values 這樣就出錯了,因為你是全欄位插入。但是其實你沒有values。alter table table name add column name column type column name column type 問題很嚴重...

資料庫表設計中,欄位關聯兩個表,可以嗎?這樣關聯有什麼意義嗎

用left join 加case when 吧select case when b.column2 is not null when b.column2 else c.column2 end from 附件表 a left join 複核表 b on a.column1 b.column1 left...