看你的表的列id是否是"auto_increment":
10年積累的成都做網(wǎng)站、網(wǎng)站建設(shè)經(jīng)驗(yàn),可以快速應(yīng)對(duì)客戶對(duì)網(wǎng)站的新想法和需求。提供各種問題對(duì)應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識(shí)你,你也不認(rèn)識(shí)我。但先網(wǎng)站設(shè)計(jì)后付款的網(wǎng)站建設(shè)流程,更有甘谷免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
show
create
table
表名;
若列id不是auto_increment的話,那肯定不能自增長了,修改其屬性為"auto_increment"即可
alter
table
【表名】
modify
[name
varchar(22)];你可以講name變?yōu)閕d
int(5)
NOT
NULL
auto_increment
PRIMARY
KEY
,試試
:id
int
identity(1,1)
解釋:
identity是自動(dòng)增長參數(shù)。
alter
table
questionlib
modify
id
int(11)
auto_increment;
這樣應(yīng)該可以的,修改后從下一條記錄開始自動(dòng)增長。
如果想讓原來的自動(dòng)增長就得復(fù)制現(xiàn)有表的結(jié)構(gòu)(無id),添加id并加上auto_increment,然后通過循環(huán),添加n條空記錄,然后對(duì)應(yīng)先前表的id,依次插入數(shù)據(jù)。
如果跟其他表有關(guān)聯(lián)就比較麻煩了
這樣可以么?
思路:
1、首先搞清楚所有表的主外鍵關(guān)系
2、取消全部表的主鍵自增標(biāo)識(shí)列,方便你后續(xù)的直接修改ID
例如:
exec?sp_configure?'allow?updates',1
reconfigure?with?override
GO
----取消標(biāo)識(shí)列標(biāo)記
update?syscolumns?set?colstat?=?0?where?id?=?object_id('表名')?and?colstat?=?1
GO
----恢復(fù)標(biāo)識(shí)列標(biāo)記
update?syscolumns?set?colstat?=?1?where?id?=?object_id('表名')?and?name?=?'標(biāo)識(shí)列名稱'
3、寫個(gè)SQL腳本,修改ID,在修改的時(shí)候,一并更新全部表里的此ID值
例如:
declare?@old_id?as?int,@new_id?as?int
select?@old_id=12,@new_id=123
update?表名1?set?id=@new_id?where?id=@old_id
update?表名2?set?id=@new_id?where?id=@old_id
update?表名3?set?id=@new_id?where?id=@old_id
.....
update?表名n?set?id=@new_id?where?id=@old_id
use
[你的數(shù)據(jù)庫]
go
create
trigger
name
on
[table]
after
delete
as
begin
--定義游標(biāo),使你逐個(gè)往下找個(gè)ID,并執(zhí)行update修改
declare
@flag
int
select
@flag=ID
from
deleted
declare
[cursorname]
cursor
for
select
ID
from
[table]
where
ID@flag
open
[cursorname]
fetch
next
from
[cursorname]
update
[table]
set
ID=ID+1
where
ID=fetch
next
from
[cursorname]
WHILE
@@FETCH_STATUS
=
begin
update
[table]
set
ID=ID+1
where
ID=fetch
next
from
[cursorname]
close
[cursorname]
DEALLOCATE
authors_cursor
end
end
日常開發(fā)中經(jīng)常遇到AUTO_INCREMENT類型自增ID值不符合預(yù)期的情況,本經(jīng)驗(yàn)為大家總結(jié)如何修改自增ID的初始值。
方法/步驟
創(chuàng)建表時(shí)設(shè)置遞增ID:
create table users (pkid int auto_increment primary key,...)
2
表創(chuàng)建完成后設(shè)置遞增ID:
alter table users add pkid int auto_increment primary key
注意:自增字段,一定要設(shè)置為primary key.
3
很多時(shí)候不希望pkId從1開始,我們可能希望他從10000開始:
alter table users AUTO_INCREMENT=10000;
4
你也可以修改現(xiàn)有的遞增值, 比如大批量刪除數(shù)據(jù)后,想id從654321退回123456開始:
alter table users AUTO_INCREMENT=123456;
1問:你有id=8的數(shù)據(jù)嗎?答:沒有!那你為什么where后面找id=8的?
2問:你想修改的是什么?答:id,那你修改數(shù)據(jù)名字干什么呢?改ID??!
3問:你的ID是自增可修改嗎?答:是!那就修改,不是!那就把數(shù)據(jù)庫的ID列設(shè)置為可修改!
wl:武力,zl:智力,ts:統(tǒng)帥,zz是什么?
網(wǎng)頁名稱:mysql怎么改變id,mysql怎么改變編碼格式
文章路徑:http://muchs.cn/article20/phshjo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站導(dǎo)航、企業(yè)網(wǎng)站制作、定制網(wǎng)站、虛擬主機(jī)、全網(wǎng)營銷推廣、網(wǎng)站設(shè)計(jì)公司
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容