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

iho*_*rko 5 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;
Run Code Online (Sandbox Code Playgroud)

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

ype*_*eᵀᴹ 15

NUMBERMs-Access中有许多类型,因此您必须具体.我想你想要的Integer.

CREATE TABLE Table1
(
    [ID] AUTOINCREMENT,
    [Email] TEXT(255),
    [ProductID] INTEGER,
    [DateCreate] DATETIME,
    [DateSend] DATETIME
);
Run Code Online (Sandbox Code Playgroud)

ALTER TABLE语法要求ALTER COLUMN:

ALTER TABLE Table1
ALTER COLUMN
    [DateSend] DATETIME DEFAULT NOW() NOT NULL;
Run Code Online (Sandbox Code Playgroud)

您也可以在一个声明中包含这两个:

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

PRIMARY KEY在每张桌子上都有一个最好的做法,你可能打算用于ID:

    [ID] AUTOINCREMENT PRIMARY KEY,
Run Code Online (Sandbox Code Playgroud)

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

用于Access 2000的中级Microsoft Jet SQL