MS Access使用自动增量和默认日期创建表

时间:2011-05-14 06:51:13

标签: sql ms-access

我尝试使用自动增量ID和默认日期字段创建MS Access表,但下一个查询始终显示“CREATE TABLE语句中的语法错误。”:

CREATE TABLE Table1
(
    [ID] AUTOINCREMENT,
    [Email] TEXT(255),
    [ProductID] NUMBER,
    [DateCreate] DATETIME,
    [DateSend] DATETIME
);


ALTER TABLE Table1
ALTER [DateSend] DATETIME DEFAULT NOW() NOT NULL;

谁可以帮我修复该查询。谢谢!

2 个答案:

答案 0 :(得分:15)

Ms-Access中有许多NUMBER类型,因此您必须具体。我想你想要Integer

CREATE TABLE Table1
(
    [ID] AUTOINCREMENT,
    [Email] TEXT(255),
    [ProductID] INTEGER,
    [DateCreate] DATETIME,
    [DateSend] DATETIME
);

ALTER TABLE语法需要ALTER COLUMN

ALTER TABLE Table1
ALTER COLUMN
    [DateSend] DATETIME DEFAULT NOW() NOT NULL;

您也可以在一个声明中使用这两个:

CREATE TABLE Table1
(
    [ID] AUTOINCREMENT,
    [Email] TEXT(255),
    [ProductID] INTEGER,
    [DateCreate] DATETIME,
    [DateSend] DATETIME DEFAULT NOW() NOT NULL
);

最佳做法是在每张桌子上都有一个PRIMARY KEY,你可能想要ID

    [ID] AUTOINCREMENT PRIMARY KEY,

包含许多有关如何使用SQL处理Access的有用信息的页面:

<强> Intermediate Microsoft Jet SQL for Access 2000

答案 1 :(得分:2)

CREATE TABLE Tblcontact
(
contactid AUTOINCREMENT PRIMARY KEY ,
firstname CHAR (60),
lastname CHAR (60),
email VARCHAR (75)
);