我在SQL视图上使用Microsoft Access时遇到此问题我总是遇到语法错误但是当我删除数字行时它运行正常!!
我该如何解决?
create table student
(ID varchar (5),
name varchar (20) not null,
dept_name varchar (20),
tot_cred numeric (3,0) default 0,
primary key (ID))
这是我得到的错误
答案 0 :(得分:1)
根据Access' documentation,使用数字,而不是数字。
它无法切换出SQL的原因是它试图使您编写的SQL适合向导,但是他无法将numeric(3,0)
与数据类型匹配。解决该问题的最简单方法是删除该字段,并使用“数据类型”下拉列表从向导中创建该字段。
所以你的SQL应该看起来像这样:
create table student
(ID varchar (5),
name varchar (20) not null,
dept_name varchar (20),
tot_cred number default 0,
primary key (ID))
我不确定你如何添加默认子句,但根据their syntax,它不能在CREATE TABLE
语句中完成。我也相信这取决于你的Access版本(希望2000+,否则你将不得不使用变通方法)。
再一次,最简单的方法是使用向导并查看SQL视图中的结果。
答案 1 :(得分:0)
您不能在Access SQL中将DEFAULT
子句与CREATE TABLE
语句一起使用,至少在查询编辑器/ SQL视图中运行它时不能。
您需要通过ADO连接运行SQL命令:
SQL SET DEFAULT not working in MS Access
或将Query Design下的Access选项设置为ANSI 92兼容:
SQL to add column with default value
有关详细信息,请参阅this answer。