2013-07-23 83 views
0

我完全不熟悉SQL,但我試圖從ASP中創建數據庫中的新表,並將'field3'設置爲主鍵auto_increment字段設置三個字段。創建mdb表字段並將其設置爲自動增量

我已經嘗試了很多我在網上找到的代碼片段,但都是語法錯誤。 CREATE TABLE工作正常,直到我嘗試創建一個字段auto_increment。

另外,當試圖使用ALTER TABLE時,我設法將一個字段設置爲主鍵,但是當再次嘗試使其auto_increment失敗並出現語法錯誤時。

下面是我正在嘗試的一個例子。

任何幫助,以實現我所需要完成的將不勝感激。提前致謝。

<% 

'returns: Microsoft JET Database Engine error '80040e14' Syntax error in ALTER TABLE statement. 

set conn = server.CreateObject ("ADODB.Connection") 

conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & server.MapPath ("databases\db1.mdb") 

Dim strSQL 

strSQL = "CREATE TABLE table1 (field1 INT, field2 CHAR(10))" 

conn.Execute strSQL 

strSQL = "ALTER TABLE table1 ADD field3 INT UNSIGNED NOT NULL AUTO_INCREMENT, ADD PRIMARY KEY (field3)" 

conn.Execute strSQL 

conn.Close 

%> 

回答

0

我個人創建的表都在一個去,而不是創建和修改,類似,

"CREATE TABLE table1(field 1 int, field 2 CHAR(10), field 3 INT PRIMARY KEY AUTOINCREMENT(1,1)) 

編輯,原來postey MySQL沒有正確讀取 第二次編輯。現在已經看到ms訪問,所以應該是正確的語法

+0

感謝Kul-Tigin,並感謝開發N00B它完美的工作。在我編寫的9種語言中,SQL不是其中之一,但是即使在我定期編寫代碼的過程中,它總是會混淆語法,從而導致「漏洞」。 – Clay

+1

@Clay你確定這個查詢通過'Microsoft.Jet.OLEDB.4.0'提供的連接創建表嗎?它不工作。 –

1

您可以創建表,像這樣的查詢:

CREATE TABLE table1 (field1 INT, field2 CHAR(10), field3 Identity(1,1), Primary Key (field3)) 
相關問題