MS Access创建带有自动增量和默认日期的表

问题描述:

我尝试创建具有自动递增ID和默认日期"字段的MS Access表,但下一个查询始终显示"CREATE TABLE语句中的语法错误.":

I try to create MS Access Table with autoincrement ID and Default Date field, but next query always says "Syntax error in CREATE TABLE statement.":

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


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

谁可以帮助我解决该查询.谢谢!

Who can help me to fix that query. Thanks!

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

There are many NUMBER types in Ms-Access, so you have to be specific. I guess you want 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;


您也可以在一个语句中包含这两个:


You could also have those two in one statement:

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


最佳做法是在每个表上都有一个PRIMARY KEY,而您可能打算将其用于ID:


It's best practise to have a PRIMARY KEY on every table, and you probably intended that for the ID:

    [ID] AUTOINCREMENT PRIMARY KEY,


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


A page with a lot of useful information about how to handle Access with SQL:

用于Access 2000的中级Microsoft Jet SQL

Intermediate Microsoft Jet SQL for Access 2000