我想讓資料庫的id在刪除中間一條後後邊的id可以

2021-04-26 06:20:15 字數 5814 閱讀 8278

1樓:匿名使用者

id 這欄位是表中的bai 主鍵吧?

那麼 可能和其

du他表 有關聯 如果改zhi

動了 就要出大dao問題版了

當然了 要是

單表的話你權可以整

delid = 26

delete from tablename where id = delid

update tablename set id = id-1 where id > delid

更新自增的主鍵值 在 mysql 行的通 其他的 資料庫 沒試過

alter table tablename auto_increment = auto_increment - 1;

將表的 自增 id 值減 1 即可

2樓:匿名使用者

用copyupdate語句把id大於26的id全部-1如bai update 表 set id=id-1 where id>26

有一個前提條件du id不能為標識列 如果是標zhi識列 先取消自動標識 然後dao

執行update 語句 執行完畢再把id設定成自動標誌

3樓:匿名使用者

自增id修改起來比較麻煩,你開啟表單想直接修改也是不行的,所以直接update的做法是不管回用的,比較簡答單的方法如下:

alter table 表名 drop column 自增列名alter table 表名 add 自增列名 int identity(1,1)

思想就是先刪除自增列,再新增一列自增列

4樓:匿名使用者

1,可以用trigger解決。 每deleted一條資料,就update他後面的資料id。

2,。。。。

3.。。。。

5樓:懷蔚譙華池

alter

table

表名drop

column

自增列名

alter

table

表名add

自增列名

intidentity(1,1)

思想就是先刪除自增列,再新增一列自增列

id自動編號的資料庫當中刪除了一條記錄後,如何才能使編號仍然保持連續

6樓:匿名使用者

沒有任copy

何意義,如果你是想在頁面上顯示為第幾條時又不想1下來就是5,你完全可以先算出總條數,

然後每次迴圈總條數減1,然後在頁面輸出就ok如下面顯示54

321當然這是在倒續排列

例子:<%

n=100

for i=1 to 50

response.write n&"

"n=n-1

next

%>

7樓:

有意義嗎?標識列就復

是不重複制的

告訴你個方法吧`把id自增漲那列刪掉`在從新增id就從1,2,3,4,....從排了

用 truncate table 表名 別看錯了你試一下吧`試完給我分` 那語句意思就是刪除表從新建`標識列從新排列

mysql資料庫中使用delete語句時,一般刪除一條記錄後id會不連續,才能讓序號繼續按順序排列?

8樓:匿名使用者

方法一:

truncate table 你的表名 【這樣不但將資料全部刪除,而且重新定位自增的欄位】

truncate命令是會把自增的欄位還原為從1開始的,或者你試試把table_a清空,

然後取消自增,儲存,再加回自增,這也是自增段還原為1 的方法。

方法二:

deletefrom 你的表名

dbcc checkident(你的表名,reseed,0)【重新定位自增的欄位,讓它從1開始】

9樓:匿名使用者

這個如果你想做的話那只有人為的去更新了。

id是唯一的標識,只要標識的唯一即可。不必要在意是否連續!

10樓:匿名使用者

如果的id欄位是主鍵的話,那就不能輕易改變啊

11樓:匿名使用者

答案肯定是沒有必要這麼做啦!你建立自增id 的原因不就是為了起到唯一索引的目的嗎,既然這樣 那你就沒必要再去人為處理 id,如果去處理,反而會非常影響效能,何苦呢。

12樓:落了的黃葉

沒必要這樣做啦,下次你再插入資料後,id會自動遞增

mysql資料庫刪除一條資料後還想讓新增資料從空缺id處開始。

13樓:山水阿銳

方法1:

truncate table 你的表名

//這樣不但將資料全部刪除,而且重新定位自增的欄位方法2:

delete from 你的表名

dbcc checkident(你的表名,reseed,0)//重新定位自增的欄位,讓它從1開始

方法3:

如果你要儲存你的資料,介紹你第三種方法,by qinyi用phpmyadmin匯出資料庫,你在裡面會有發現哦編輯sql檔案,將其中的自增下一個id號改好,再匯入。

-------------------------truncate命令是會把自增的欄位還原為從1開始的,或者你試試把table_a清空,然後取消自增,儲存,再加回自增,這也是自增段還原為1 的方法。

-----------

mysql資料庫唯一編號欄位(自動編號欄位)在資料庫應用,我們經常要用到唯一編號,以標識記錄。在mysql中可通過資料列的auto_increment屬性

來自動生成。mysql支援多種資料表,每種資料表的自增屬性都有差異,這裡將介紹各種資料表裡的資料列自增屬性。

14樓:匿名使用者

mysql清空表資料後讓自增id仍從空位開始的方法:

1、清空表時使用truncate命令,而不用delete命令mysql> truncate test;

使用truncate命令的好處:

1)、速度快

2)、可以對自增id進行重排,使自增id仍從1開始計算2、清空表資料後,使用alter修改表,mysql>alter table table_name auto_increment=1;

新增以上指令即可。

sql自增欄位,有資料刪除後,如何實現自增欄位的連續 5

15樓:匿名使用者

對於自增欄位確實有這個問題,也無法改變,這是由於自增欄位的值是內部計算,專每使用一次都會自屬動+1,有點類似線序,你可以使用如下兩種方法解決:

1、自增欄位改為不用手工增加,每次都取最大值+1來儲存

2、不改自增欄位型別,採用邏輯刪除的方法,比如在表中增加一個欄位isdel(1表示已刪除,0或者其它值表示沒有刪除),記錄當前記錄是否屬於刪除狀態,

16樓:匿名使用者

自動實現比較困難。

你就不能自增長的值為序號。

用儲存過程來實現。

17樓:匿名使用者

1.先取消主鍵的自增長,alter table 表名change id id int primary key ;

2.調整資料id順序 update 表名 set id = id - 1 where id > 10;

3.建議刪除一遍後面的空數版據,delete from 表名 where id > 1000;

4.把主鍵自增權長設定回來,alter table 表名 change id id int primary key auto_increment;

18樓:匿名使用者

改sequence的初始值,不過來

這個風源險太大,不建bai議這樣操作。如果你調整序du號之前zhi的那一刻有人往表裡dao插入了一條資料,然後你把序號往前挪了,自增之後插入的id遇到了已存在的序號就要報錯了。另外你這樣做也沒啥意義啊,假如1,2,3。

你把2刪了,依然是不連貫的,何必糾結最後一條記錄產生的不連貫

19樓:穹拓

自增欄位的值自己是不能設定的,所以在原先的表裡面是改是行不通的。您可以把這個表給複製一下,只複製表結構就行,然後把表裡面的資料給複製到新表裡面,直到您誤刪的哪條記錄

20樓:匿名使用者

序號3已經生生了,雖然刪除了,但刪除的只是表記錄,資料庫已經記錄了id,所以再次插入記錄會從4開始。可以不用資料庫自帶的自增序列,改用自己建立序列。

21樓:匿名使用者

跳號對你的資料也沒bai

影響;如果你du感覺很不爽的話你可以自zhi己dao做自增效果,每次內

去除表中自增欄位容

的最大值加一咯;

sql server自帶的自增效果就是這樣,使用過的序號將不再使用。除非你每次刪除最後一條記錄重置一下重新開始自增;

22樓:2011屆畢業生

mysql 資料庫就是這樣的,刪除資料就會斷掉排列順序。要想重新從1開始排序,就要先刪除自增列,在新增自增列(網頁連結)。

其實排列順序不連續不影響我們運算元據的,無非就是看起來不自在而已。

23樓:匿名使用者

斷號問題看看相關貼子吧

不能重排,重排會引起很多問題,只能在後面新增的時候補上

自己寫一個版插入操作的儲存過程權,先判斷有無斷號,有斷號插入斷號,沒有就直接插入

24樓:匿名使用者

更新自增的主鍵值 mysql

alter table tablename auto_increment = auto_increment - 1;

將表的 自增 id 值減 1 即可

25樓:匿名使用者

老鐵,有知道怎麼弄了嗎?我也遇到這個問題了

26樓:下揚州啊

這個自增基本上是沒有具體的意義的,不要追求這個不間斷的視覺效果

凡是自增的,肯定避免不了不連續,這個無關緊要

客戶端可以用行號來作為替代顯示

27樓:匿名使用者

刪除自增欄位後重新建

mysql資料庫自增l列刪除一條記錄後再新增記錄自增列就不連續了

28樓:翱源來是你

大家用的mysql都是這樣吧

如果你要連續的話 也可以實現啊

每次插入之前要判斷max(5.x的版本都有這個函式吧?!)然後再max+1

不過要是刪除的話 就比較麻煩了 好比刪除3 你得把後面的都修改了 建議不要這麼做

29樓:匿名使用者

自動id列,如果刪除了記錄,再插入記錄時,預設不會重用已經刪除的id,因此是不連續的。

但如果確實需要連續的id,則刪除後必須手工修改關於自動增長的值。

如,假如你這個表名為huoli,自動增長列為id,那麼刪除id=4的記錄後,如果想重用id=4,那麼執行如下語句:

alter table `huoli`

modify column `id` int(11) not null auto_increment auto_increment=4;

30樓:匿名使用者

這是正常現在 一般 刪除都會出現這種情況 自增id一般是不會變化的

31樓:神話v藍冰雨

mssql也是這樣的,很正常啊,有啥可奇怪的

怎樣在C中寫一句SQL語句,判斷資料庫中的日期對比系統當前日期是否過期了

過期的話應該是表裡的時間小於當前時間 select from tablename where time getdate 看看查詢結果就知道了 或者 選擇 from tablename的則datediff d,getdate 到期日期 30如果僅統計30天到期 select from tablenam...

我是大一的女生,肯求各位高手一道資料庫的題目

第五條明顯有問題,總共就5個欄位,這個平均工資從 算出來的?又沒有每月領多少的記錄?靠,你要說你是初中女生現在回覆已經上百條了。你的是什麼資料庫。汗。我是一個大一男生,我喜歡上了一個其它系的女生,怎麼追她 做浪漫的事,讓他感動啊。勇敢點,表白吧 就有百分之五十機會 可以發簡訊比較含蓄。某年某月某日,...

如果我想讓我的黃豆在水裡發芽的快一點,應該將它放入陰涼處,還

你是想發豆芽?那應該找個大一點的陶罐啊,瓶什麼的,豆子放進去,加滿水,不過瓶口罐口用棉織品等半密封蓋住再倒扣回來,在水快要乾的時候加水再倒扣,每天大概加水兩次,反覆幾天就能發出豆芽了,我自己都這麼發的 生活小常識.生活中經常會碰到一些生活小難題,這就需要在生活中多多開動腦筋,多瞭解一些重要而且非常基...