auto increment欄位型別的好處

2021-04-12 19:12:34 字數 624 閱讀 5277

型為主鍵。這樣還可以繼續根據需要設定其他字段型別為唯一。

這裡要說的是那個設定成auto_increment型別的字段,假設名稱為id。

1)當要針對某條記錄進行操作時,設定where 時,這是只需要獲得id值,就可以進行操作,如

where id = '***',這樣就可以省去傳遞很多條件引數,也不用擔心修改或者刪除會造成大片的資料錯誤。

2)當要進行分頁檢索時,由於mssql不支援limit語句。如果要構造類似的語法,需要使用top句型,如

在mysql可以使用select * from table where 1<2 limit 10,20,在mssql則需轉換如下:

select top 20 * from table where id not in (select top 10 id from table)

如果id不是唯一,則得到的結果將會與預期不一致。當然在mssql可以採用其他方法實現分頁。但系統如果是

想要支援多資料庫,則個人認為這樣的方法將節省判斷及sql語句。

3)當你新增的時候還可以方便的通過函式去獲得上次新增的記錄id,以進行後續的操作。

mysql_insert_id --mysql

select @@identity  --mssql

重新整理AUTO INCREMENT欄位

2016 01 21 netkiller netkiller 節選擇 netkiller mysql 手札 auto increment 並非按照我們意願,順序排列,經常會跳過一些數字,例如當插入失敗的時候,再次插入會使用新的值。有時會造成浪費,我們可以使用下面sql重新編排auto increme...

Mysql中auto increment的基本特性

建立資料表時,經常會出現auto increment這個詞,下面就來了解一下它吧。mysql的中auto increment型別的屬性用於為乙個表中記錄自動生成id功能,可在一定程度上代替oracle,postgresql等資料庫中的sequence。在資料庫應用,我們經常要用到唯一編號,以標識記錄...

MySQL之AUTO INCREMENT遇到的問題

這幾天在做的專案資料庫需要用到mysql,對於mysql之前接觸不多,只好看使用手冊學習學習,在使用auto increment設定主鍵為自動增長的應用中,遇到了一些疑惑的問題。具體如下 建立資料表的sql指令碼為 create table person personid int auto incr...