1

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)
);
4

4 に答える 4

5

DDL ステートメントには が含まれDEFAULTているため、ADO で実行する必要があります。ステートメントを文字列変数にロードし、次のように Access 2007 から実行しました。

CurrentProject.Connection.Execute strSql

給与フィールドは、精度 8、位取り 2、デフォルト 15000 の 10 進数です。

DEFAULTJet 4.0 で追加された Access SQL 機能の 1 つです。これらの機能は、DAO から実行されるステートメントでは使用できません。Access のクエリ デザイナーを使用してステートメントを作成および実行している場合は、DAO を使用しています。を使用していた場合も同様ですCurrentDb.Execute。ただしCurrentProject.Connection、ADO オブジェクトなので、.ExecuteJet 4.0 の機能を使用できます。

を意味するので注意NOT NULLは必要ありません。ただし、エラーは発生しません。ステートメントは、ADO から実行する限り、最初に記述したとおりに機能します。PRIMARY KEYPRIMARY KEYNOT NULLPRIMARY KEY NOT NULL

于 2013-02-19T18:26:39.673 に答える
1

Ms Access 2007 でも同じ問題が発生していましたが、後で解決しました。
これは、実際にはセキュリティ上の理由から、一部の機能がデフォルトで無効になっているためです。
syntax error表示されると、メニューバーのどこかまたは下部にメッセージが表示されますSome Features Are Disabled For Security Reasons...
メッセージをクリックしてから、さらに機能を有効にします。

于 2013-05-19T15:57:32.700 に答える
0

問題は PRIMARY KEY 宣言にあります

CREATE TABLE my_employee
(
employee_id INTEGER 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),
PRIMARY KEY (employee_id)
);
于 2013-02-19T18:38:48.813 に答える