我对SQL完全不熟悉,但我正在尝试从ASP在数据库中创建一个新表,并设置三个字段,其中'field3'被设置为主键auto_increment字段。
我尝试过很多我在网上找到的代码片段,但都因语法错误而失败。 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 :(得分:1)
您可以使用如下查询创建表:
CREATE TABLE table1 (field1 INT, field2 CHAR(10), field3 Identity(1,1), Primary Key (field3))
答案 1 :(得分:0)
我个人会一次性创建表而不是创建和更改,例如,
"CREATE TABLE table1(field 1 int, field 2 CHAR(10), field 3 INT PRIMARY KEY AUTOINCREMENT(1,1))
编辑,原始后期MySQL没有正确阅读 第二次编辑。现在已经看过ms访问所以上面应该是正确的语法