1. 程式人生 > >Access資料庫id型別由自動編號改成數字型別後如何再從數字型別改成自動編號呢

Access資料庫id型別由自動編號改成數字型別後如何再從數字型別改成自動編號呢

    一套網頁,初級小技術員編寫的,多次用到了固定id的連結,如:<a href=list.asp?id=11>站內新聞</a>。而客戶恰好不慎將這個內容刪除了。要修復,關鍵就是補上這個id,id欄位又必須還是“自動編號”(其他內容可以讓客戶自己重新填上)。下面是過程。

1、給資料庫備份(如果你沒有先備份的習慣,那就從現在起開始養成這個習慣)

2、開啟資料庫,發現原資料庫表名為test。單擊選定,然後點上面的“設計”,將id欄位的資料型別改為“數字”,關閉儲存。

3、雙擊test,在id欄位添上你需要的值,如11。在這裡,也可以修改已有的資料的數值。關閉表。這時,該欄位是不能改回“自動編號”資料型別的。

4、右鍵單擊表test-->複製,然後右鍵點一下空白處,貼上-->,表名稱寫入“test1”,選擇“只貼上結構”-->確定。新表test1生成了。

5、單擊選中test1,點選上面的“設計”。把id欄位的資料型別改為“自動編號”。因為這時test1裡是沒有資料的,所以可以修改成功。

6、右鍵單擊表test-->複製,然後右鍵點一下空白處,貼上-->,表名稱寫入“test1”(與步驟4相同),但選擇“將資料追加到已有的表”-->確定。

7、將表test改名為test_bad,將test1改名為test。結束。這裡要養成良好習慣,不要猴急地把原test表刪除,而是改名。等全部測試成功後,再刪不遲。

8、總結:access的“自動編號”資料型別可以改成數字等其他型別,但有資料後,就不能改回來了。那麼就先複製一個結構,在有資料之前把該型別改回“自動編號”,然後再匯入資料。這時該欄位的值也是匯入的,而不是自動生成的,但以後再新增新資料時又是自動生成的了。改變了自動編號的值,所有程式都無需改變。很簡單。

最後,別忘了:1、讓這個技術員抓緊時間提高自己的程式設計水平,更不要偷懶;2、告訴客戶,此類文章不能刪除(或者直接去掉“刪除”功能)。

詳解Access資料庫自增長欄位值的修改及初始值的設定

Access資料庫自增長欄位值的修改及初始值的設定是本文我們主要要介紹的內容,Access的自增長欄位的值的修改,發現原來Access自增長比起SQL Server的標識列有一定的靈活性。比如Access的自增長欄位可以直接insert記錄時指定數值,但是不要和已經有的記錄的該欄位值重複了,會主鍵衝突的,而SQL Server就不行了。

  並且如果某個自增長序號已經有記錄了,那麼刪除這條記錄後還可以設定該值作為新記錄的序號值。但是對於已有的記錄,就不能修改自增長欄位的值了,如果確需修改,有兩種方法,要不就是刪除原記錄,重新插入資料時指定該欄位值。要不就是去除自增長屬性,修改成一個不重複的值儲存後再將該欄位型別設定成自動增長。
  那麼,如果想設定Access資料庫自增長欄位的初始值該怎麼辦呢,這個較為簡單,可以通過特定SQL語句即可實現。   如果建立表結構時想設定自增長欄位的初始值可以這條語句: CREATE TABLE 表名自增長欄位名 AUTOINCREMENT 1000 10), ItemId LONG Quantity LONG   如果表結構已經存在,可以通過這條語句修改: ALTER TABLE 表名 ALTER COLUMN 自增長欄位名 COUNTER 2000 50   如果想復位自增長種子重新開始,可以這樣: ALTER TABLE 表名 ALTER COLUMN 自增長欄位名 COUNTER 1 1   好了,SQL ServerAccess兩種資料庫的自增長(標識列)都可以修改欄位值了。有什麼用呢,呵呵,很有用,對於我目前手同的工作來說,就是可以在程式中增加資料匯入匯出文字檔案了,並且匯入後一些關鍵的排序主鍵欄位值不會發生改變,能保持原有資料的編號。