怎麼為sql表中自增欄位新增記錄

2022-02-19 12:10:49 字數 5991 閱讀 8227

1樓:匿名使用者

先說一下 sql server

通過 identity 來設定

引數有2個,一個是「初始值」 一個是「增量」。

預設情況下 insert 語句中,不能對 identity 的欄位進行賦值。

對於 identity 的列 sql server 在 insert 的時候,會自動忽略掉。

1> create table test_create_tab2 (

2> id int identity(1, 1) primary key,

3> val varchar(10)

4> );

5> go

1> insert into test_create_tab2(val) values ('no id');

2> go

(1 行受影響)

1> insert into test_create_tab2(id, val) values (6, 'id no use');

2> go

訊息 544,級別 16,狀態 1,伺服器 home-bed592453c\sqlexpress,第 1 行

當 identity_insert 設定為 off 時,不能為表 'test_create_tab2' 中的標識列插入顯式值。

1> insert into test_create_tab2(val) values ('a');

2> insert into test_create_tab2(val) values ('b');

3> insert into test_create_tab2 values ('c');

4> insert into test_create_tab2 values ('d');

5> go

1> select * from test_create_tab2;

2> go

id val

----------- ----------

1 no id

2 a3 b

4 c5 d

(5 行受影響)

再說一下 mysql

通過auto_increment設定

sql insert語句的時候,要避免 指定那個自增的欄位

mysql> create table test_create_tab2 (

-> id int auto_increment,

-> val varchar(10),

-> primary key (id)

-> );

query ok, 0 rows affected (0.09 sec)

mysql> insert into test_create_tab2(val) values ('no id');

query ok, 1 row affected (0.03 sec)

mysql> select last_insert_id() as id;

+----+

| id |

+----+

| 1 |

+----+

1 row in set (0.00 sec)

mysql> insert into test_create_tab2(val) values ('no id 2');

query ok, 1 row affected (0.03 sec)

mysql> select last_insert_id() as id;

+----+

| id |

+----+

| 2 |

+----+

1 row in set (0.00 sec)

mysql> select * from test_create_tab2;

+----+---------+

| id | val |

+----+---------+

| 1 | no id |

| 2 | no id 2 |

+----+---------+

2 rows in set (0.00 sec)

2樓:多強篤清昶

自增的欄位後面加

identity(1,1)屬性就可以了

但是有一個問題就是你減去一條記錄它不會自減的,比如你減去中間一條的話,記錄數還是那麼多

sql server 中有一個表有自動增長的欄位,向表中插入值時怎麼辦

3樓:輕輕鬆鬆100分

若表為student其中包含三個列id,name,age。其中id為自增長,如下寫語句即可新增資料

insert into student(name,age) values('張三','20')

4樓:愛琴海之玲

比如表 a 欄位有 id(自動增長) name age addr

insert into table values('','','') 這種寫法不管自動增長的欄位 直接從name欄位開始

也可以明顯的表示

insert into table(name,age,addr) values('','','')

如果是直接編輯表的話 自動增長的列 是無法寫入的,不用管就是了 系統自動根據規則加

5樓:匿名使用者

自增列不允許直接插入值,你插入一行資料的時候不給這個欄位賦值就好了

求教在sqlserver2008中的表中怎麼新增一列自增的列? 30

6樓:匿名使用者

1、例如給某表新增一個num自增列,這張表已經有很多行資料了,通過sqlserver表設計器,新增一個新欄位num,如圖所示,

2、新增欄位後,點選儲存,會彈出一個小框「不允許儲存更改。所做的更改要求刪除並重新建立一下表」,這個要求不能滿足啊,這麼多的資料,刪除了怎麼辦?

3、點選sql server management studio頂部的選單【工具】->【選項】,

4、開啟【選項】彈窗介面如圖所示,預設的是【常規】選項,

5、拖動左側的選單,找到並點選【表設計器】->【表設計器和資料庫設計器】,

6、在右側出現的【表選項】中,找到並 取消勾選【阻止儲存要求重新建立表的更改】,點選【確定】按鈕,

7、再次在表設計介面,點選儲存,如果表中的資料量很大的話,會有這個驗證警告:「將定義更改儲存到包含有大量資料的表中可能需要很長時間」,此項可以忽略,

8、直接點選【是】按鈕,就可以儲存成功了。

7樓:匿名使用者

alter table 表 add 列 int identity(1,1) not null

表指的是你要處理的那個表名稱;列指你要新增的列名稱;以上示例新增了一個資料型別為int型的列,自增序列號從1開始,每行增加量為1.

希望對你有所幫助!

8樓:

這個很簡單,這樣操作:table右鍵->新建->進入設計檢視新增一個新列(例如:id,int),is identity 設定成true, identity increment就是自增量,每次增加多少。

identity seed,就是種子,從多少開始。

資料庫mysql中,如果有個欄位是自增型,如何寫插入語句?

9樓:用著追她

1、增加欄位前,首先檢視tb1表當前的結構。

2、為表增加一列欄位,例項。

3、再次檢視錶結構,對比欄位增加前後。

4、最後,插入一行新的資料看一下效果。

注意事項:mysql所使用的 sql 語言是用於訪問資料庫的最常用標準化語言。mysql 軟體採用了雙授權政策,分為社群版和商業版,由於其體積小、速度快、總體擁有成本低,尤其是開放原始碼這一特點,一般中小型**的開發都選擇 mysql 作為**資料庫。

10樓:匿名使用者

對於自增型的欄位,在插入資料的時候,不需要賦值。

但是在寫語句的時候,你得注意一下。

假設col1自增,表一共3列,col1, col2, col3, 那麼語句就是insert into table(col2, col3) values('1', '2');

希望能解決你遇到的問題。

11樓:黑客痞子

自增那個欄位不用插入

insert into table(b,c)values(d,e)

12樓:

insert 表名(欄位2,欄位3) values(欄位2值,欄位3值)

13樓:匿名使用者

insetr into 目的表或查詢(欄位1,欄位2,…)

values(數值1,數值2,…)

sql語句,如何修改一個表的一個欄位為自動增長列?

sql server中如何實現自增欄位?

14樓:幸運的創業找我

1、主鍵自增,以及建表的語句如下:

create tableif not exists `t_email_notice` (

`id` int (11) unsigned not null auto_increment,`send_time` int (16) not null default '0',primary key (`id`)

) engine=innodb default charset=utf8;

其中 `id` int (11) unsigned not null auto_increment,這句話表示設定id欄位字增,型別為int

2、varchar型別的主鍵,不會自增。但是你可以通過建立觸發器的形式,來實現自增。**如下:

create trigger `t` before insert on `user`for each row begin

set new.id=concat('sh',lpad(((select substring(id,3,4) from user where id=(select id from user order by id desc limit 1))+1),4,0));

end;

這段語句的意思是,當user表中新插入一條一條語句,會觸發『觸發器t』將以』sh『開頭的id欄位自增+1。

擴充套件資料

sql語句建表規則如下:

create table  『表名』 (『欄位1』 type1 [not null] [primary key] identity(起始值,遞增量),『欄位2』 type2 [not null], ...)--primary key為主鍵 identity表示遞增數量。

15樓:跪著作揖

sql server 自增主鍵建立語法:

identity(seed, increment),其中為seed 起始值,increment 為增量。示例如下:

create table student    //建立學生表

(id int identity(1,1),

name varchar(100) )     //  id欄位為自增

自增欄位的型別必須為不帶小數的數值型別。

擴充套件資料

實現自增欄位的其他方法:

下列 sql 語句把 "persons" 表中的 "p_id" 列定義為 auto-increment 主鍵:

create table persons

p_id int not null auto_increment,lastname varchar(255) not null,

firstname varchar(255),

address varchar(255),

city varchar(255),primary key (p_id)

在資料表中新增欄位的SQL語句怎麼寫

alte table a add tel number char 10 在資料表中新增一個欄位的sql語句怎麼寫?在資料表中新增一個欄位的sql語句怎麼寫 資料表中新增一個欄位的標準sql語句寫法為 alter table 表名 add 欄位 欄位型別 default 輸入預設值 null not ...

sql語句查詢某欄位的資料總和,並列出表中的所有記錄

在所有表中?只能是一個一個表的查詢吧,select欄位1from 表where 欄位2like 你好 欄位1和欄位2也可相同 select select sum fieldxx from tab from tab 首先你用sum,需要有group by 不然會報錯。既要看sum又要明細可以用over...

如何使用SQL資料庫表中欄位的值作為switch的引數

switch是access資料庫中的函式,在sql中一般用case when表示。如資料如下,其中性別為1代表男,性別為2代表女,現在要求顯示男女,不顯示1,2 姓名 性別 張三 1 李四 2 王五 1 趙六 2 執行語句 select 姓名,case when 性別 1 then 男 when 性...