0

我对 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

%>
4

2 回答 2

2

您可以使用如下查询创建表:

CREATE TABLE table1 (field1 INT, field2 CHAR(10), field3 Identity(1,1), Primary Key (field3))
于 2013-07-23T12:29:26.473 回答
0

我个人会一次性创建表,而不是创建和更改,例如,

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

已编辑,最初 postey MySQL 没有正确阅读第二次编辑。现在已经看到 ms 访问所以上面应该是正确的语法

于 2013-07-23T12:35:28.140 回答