通過SQL語句向自增字段的ID列插入ID

2021-08-29 21:56:20 字數 545 閱讀 5564

通過一些方法生成的對某張表資料的insert語句時,往往會是:

insert brand(id,name) values(1,'技嘉')

但是往往我們的資料表中id欄位是自增的,這就導致在執行這一語句的時候會產生錯誤:

[quote]

訊息 8101,級別 16,狀態 1,第 1 行

僅當使用了列列表並且 identity_insert 為 on 時,才能為表'category'中的標識列指定顯式值。

[/quote]

解決的方法在錯誤中已經提示給我們了,就是把那個東西設定為on後就能向id列插入值了,所以正確的執行插入語句的做法應該是:

set identity_insert brand on

insert brand(id,name) values(1,'技嘉')

set identity_insert brand off

注意on了之後得off。

認識自增ID欄位

int最大值是21億,每天100萬個事務,也夠用58年。而且,你不可能存這麼多條資料,而且是不斷刪除的。如果你還擔心,可以用序列sequence,bigint的,可以用到宇宙 下面的語句建立了自增長欄位的表,自增長字段採用了bigint,足夠大 create table test id id col...

如何用sql語句實現欄位自增

如何用sql語句實現欄位自增 如果從表中讀到字段最大值 0003 增加一條記錄 字段值 為 0004 select right 000 rtrim cast isnull max field1 0 as int 1 4 from tablename 觸發器,如果一次只加一條,欄位名為id,假定def...

SQL 自增字段的修改

sql2005中自增欄位預設情況下是沒法修改的 那麼在資料遷移中怎麼解決自增字段修改的問題呢?在sql中使用 identity insert 開關 允許將顯式值插入表的標識列中。identity insert 開關 起到的作用是開啟自增字段標識列,允許插入資料 例 表book 有自增欄位book i...