2013-10-17 54 views
-1

我有一個MS訪問數據庫,我想使用SQL添加一個具有唯一ID的新列。 例如:添加列SQL訪問

Name Sales ID 
Lucas 20 0.00001 
Mike 10 0.00002 
John 25 0.00003 

我正在自學SQL。有人可以幫我嗎? :)

謝謝!

+0

這裏你向我們展示了你想添加的3條新記錄(行) – apomene

+0

如果你想要學習這個SQL,那麼我非常確定在ms-access中使用DDL需要你寫入它VBA。使用SQLite或SQL Server Compact可能會更好。 –

+0

實際上我有將近10000行,我只想插入一個唯一的ID,但我必須使用MS訪問SQL:/ – lucasserafim

回答

2

通過「列有唯一的ID」你的意思是一個自動編號字段假設:

ALTER TABLE MyTable ADD COLUMN ID AUTOINCREMENT; 

然後,爲了使主鍵:

ALTER TABLE MyTable ADD PRIMARY KEY(ID); 
+0

據我所知NOT NULL是隱含的,如果您使用AUTOINCREMENT類型,雖然它是無害的(也許更好的做法),使其明確像其他答案一樣... –

+0

完美克里斯,謝謝!你知道我該如何在鏈接表上使用這個Alter Table?它顯示我在這種情況下的錯誤.. – lucasserafim

+0

@lucasserafim不,你不能改變從Access的* linked *表的結構。您需要直接對其他數據庫中的實際表進行更改,然後刷新錶鏈接以使其知道更改。 –

0

試試這個代碼:

ALTER TABLE "YOUR_TABLE" ADD "FIELD_NAME" UNIQUEIDENTIFIER NOT NULL DEFAULT NewId() PRIMARY KEY 
+0

它給我一個錯誤「字段定義中的語法錯誤」並標記UNIQUEIDENTIFIER .. – lucasserafim

+0

您需要更改表(「YOUR_TABLE」)和字段名稱(「FIELD_NAME」)的名稱。例如: ALTER TABLE YOUR_TABLE ADD ID UNIQUEIDENTIFIER NOT NULL DEFAULT NewId()PRIMARY KEY –

2

這似乎Access 2010中的工作沒有問題啊:

ALTER TABLE MyTable ADD COLUMN ID AUTOINCREMENT NOT NULL 
+0

快速打上標記! upvoted在那裏一分鐘之前,我可以;-) –

+0

@ChrisRolliston + 1也爲您的答案。我打算編輯我​​的答案,以包含添加PRIMARY KEY的語句,但是您打敗了我。 :) –

+0

感謝戈德以及:) – lucasserafim