我不断收到CREATE TABLE语法错误,但是看不到错误!是什么导致错误?
我的SQL:
CREATE TABLE my_employee ( employee_id INTEGER PRIMARY KEY NOT NULL, first_name VARCHAR(25) NOT NULL, last_name VARCHAR(30) NOT NULL, address VARCHAR(10) NOT NULL, birthdate DATE, salary NUMERIC(8,2) DEFAULT 15000, marital_status CHAR(1) );
由于您的DDL语句包括DEFAULT,因此您必须使用ADO执行它。我将您的语句加载到字符串变量中,然后从Access 2007中执行该语句,如下所示:
DEFAULT
CurrentProject.Connection.Execute strSql
的 工资 字段是小数精度8,尺度2和默认15000。
DEFAULT是Jet 4.0附带的Access SQL功能之一。这些功能不适用于从DAO执行的语句。如果使用Access的查询设计器创建和执行语句,则使用DAO。如果您使用,则相同CurrentDb.Execute。但是CurrentProject.Connection是一个ADO对象,因此它可以具有.ExecuteJet 4.0功能。
CurrentDb.Execute
CurrentProject.Connection
.Execute
自从隐含NOT NULL之后PRIMARY KEY就不需要注意了。但是不会触发错误。只要您从ADO执行该语句,该语句便会按照您最初编写该语句的方式工作。PRIMARY KEY``NOT NULL``PRIMARY KEY NOT NULL
NOT NULL
PRIMARY KEY
PRIMARY KEY``NOT NULL``PRIMARY KEY NOT NULL