【发布时间】:2009-04-27 02:08:20
【问题描述】:
如何在 MS Access 中使用 SQL 设置字段的默认值?
我试过了,但出现语法错误:
CREATE TABLE HELLO
( MUN INTEGER NOT NULL,
ADD CHAR(50) DEFAULT'16 asd ST.'
)
【问题讨论】:
-
请不要大喊大叫。这不礼貌。
如何在 MS Access 中使用 SQL 设置字段的默认值?
我试过了,但出现语法错误:
CREATE TABLE HELLO
( MUN INTEGER NOT NULL,
ADD CHAR(50) DEFAULT'16 asd ST.'
)
【问题讨论】:
ADD 这个词是一个关键字。试试这个:
CREATE TABLE HELLO
(
MUN INTEGER NOT NULL,
[ADD] CHAR(50) DEFAULT '16 asd ST.'
)
【讨论】:
DEFAULT 和 CHAR 关键字仅在 ACE/Jet 引擎的 ANSI-92 查询模式中受支持(然后仅在 SQL DDL 中)。正如 Jose Basilio 指出的那样,ADD 是一个保留字,必须使用方括号进行转义。此外,DEFAULT 单词和它的子句之间需要一个空格(如 Jose 所示)。
如果您在 MS Access 界面的 Query 对象中执行 SQL,则需要将默认(ANSI-89 查询模式)更改为 ANSI-92 查询模式。请参阅:About ANSI SQL query mode。
如果您以编程方式创建表,例如您正在使用 DAO,然后尝试使用 CurrentProject.Connection.Execute“Sql 到这里”,其中 CurrentProject.Connection 是 ADO 经典或其他 OLE DB 连接到您的数据源。
附:当然你希望你的专栏是HELLO.Mum :)
【讨论】: