sql表只有自增的主鍵欄位如何插入

2022-01-31 15:23:59 字數 3731 閱讀 4460

1樓:匿名使用者

顯示值插入(修改會話中的identity_insert ),臨時性 ,不徹底該表列性質

set identity_insert [ database_name . [ schema_name ] . ] table

顯式值插入

1 --一般是組合使用,已確保會話中identity_insert的完整狀態

2 set identity_insert tablename on --關閉

3 insert into tablename(identyty_id,...) values(...)

4 insert into tablename(identyty_id,...) values(...)

5 insert into tablename(identyty_id,...) values(...)

6 set identity_insert test off --開啟

關於這種方式,需要注意如下:

a.任何時候,一個會話中只有一個表的 identity_insert 屬性可以設定為 on ,想修改其他表,必須將前一個on狀態改回off

b.如果插入值大於表的當前標識值,則 sql server 自動將新插入值作為當前標識值使用

c.set identity_insert 的設定是在執行或執行時設定的

2樓:匿名使用者

insert into 表名 values();

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樓:匿名使用者

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

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

6樓:匿名使用者

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

如果應經建立成功

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

7樓:匿名使用者

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

試試吧,應該是這樣子

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

alter table category modify id int auto_increment primary key

9樓:匿名使用者

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

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

sql server如何給一個表新增一個主鍵然後讓它自動填充?

10樓:翩翩葉隨風

建表的時候,你可以建立這叫id的欄位。

然後向下(周圍)看看其他視窗,有針對該欄位的詳細屬性。不同版本位置不一樣。

裡邊有這樣的提示,中文應該是「自動xx」或者「標識」什麼的字樣,忘記了。

英文的是identity 等字樣,你選則「是」或者 「yes」

然後是從1開始,增量是1

我是2008英文的,你看看。

你若是中文的自己找找看。

11樓:du瓶邪

假設原表結構如下:

create table ttt

(t1 int,

t2 varchar(

)現在想把欄位t1設為自增欄位和主鍵.

create table dbo.tmp_ttt

(t1 int not null identity (1, 1),

t2 varchar( null)go

set identity_insert dbo.tmp_ttt on

goif exists(select * from dbo.ttt)

exec(\'insert into dbo.tmp_ttt (t1, t2)

select t1, t2 from dbo.ttt tablockx\')

goset identity_insert dbo.tmp_ttt off

godrop table dbo.ttt

goexecute sp_rename n\'dbo.tmp_ttt\', n\'ttt\', \'object\'

goalter table dbo.ttt add constraint

pk_ttt primary key clustered (t1

) on [primary]

commit

為什麼不用

alter table ttt drop column t1

goalter table ttt add t1 identity(1,1) not null

goalter table ttt add constrain primary key pk_t (t1)

的方法.

是因為先刪掉一列.再增加一列.

那麼列的順序就改變了.

有可能帶來意想不到的問題.

(比方說,你的程式中有個insert語句是沒有寫欄位名的)

12樓:

加個列名,比如叫id,型別選擇int 下面的標識選擇 是

標識種子 1 標識遞增量 1 然後把本列指定為主鍵..就ok了.

13樓:

sql = "create table " + tbname

+ "(id int primary key identity(1,1)";

如何用sql語句將一個表的欄位改為主鍵自增

14樓:匿名使用者

--為一個表新增一個主鍵約束

alter table treeinfo add constraint pk_treeinfo primary key (id);

--無法修改現有欄位為自增欄位,只能在建表時標註欄位自增,如create table mytable(id int primary key identity(1,1),name varchar(20),

...);

sql的欄位處理表中欄位為num現在想將其中的

select convert decimal 10,1 round 132451.27456,1 你看看這個式子的效果,結果132451.3正是你所想要的 update table set num convert decimal 10,1 round num,1 有困難hi我 oracle upda...

sql查詢表中兩個欄位對應的另表的資料

根據 news表中的 news type id 1 查出 news type表中的 透明點評 這條資料,透明點評 是最後需要查出來的位置資料。子查詢或者表連線 比如表連線的方式就可以寫成 select n.id,t.type name,title from news as n inner join ...

sql怎麼將一張表的欄位賦值給另一張表

update 表1 set 表1.欄位1 表2.欄位11,表1.欄位2 表2.欄位22 from 表1.關聯欄位 表2.關聯欄位where 賦值條件 如何使用sql將一個表中的內容賦值到另一個表的欄位中 update a,b set a.a b.a where a.c b.c a和b為表,a,c為欄...