我尝试使用自动增量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;
谁可以帮我修复该查询。谢谢!
答案 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的有用信息的页面:
答案 1 :(得分:2)
CREATE TABLE Tblcontact
(
contactid AUTOINCREMENT PRIMARY KEY ,
firstname CHAR (60),
lastname CHAR (60),
email VARCHAR (75)
);