私は春には、次の文のようなもの使用してインメモリH2データベースを初期化しようとしているため、デフォルト値に沿って長さを指定するとき:のSQLException varchar型
===Throws SQLException===
CREATE TABLE config (
id INTEGER NOT NULL,
module_id VARCHAR(10) NOT NULL DEFAULT 'global',
...
);
私はSQLException
があるプロジェクトを実行しようとするたびに構文が間違っていると言ってスローされます。実験のかなりの後、私はDEFAULT
キーワードを削除すると例外がスローされないことに気付きました。さらに興味深いのは何ですか
===This works===
CREATE TABLE config (
id INTEGER NOT NULL,
module_id VARCHAR(10) NOT NULL,
...
);
は、私がVARCHAR
の長さを取り除き、そのままDEFAULT
キーワードを保持するときにも、それが働いたということです。
===This also works===
CREATE TABLE config (
id INTEGER NOT NULL,
module_id VARCHAR NOT NULL DEFAULT 'global',
...
);
質問には、これらの両方が一緒に指定されないことがありますか? documentation for the SQL grammarでの構文図の厳格な読書によると
エラーメッセージを追加します。 – Jens
@Jensエラーメッセージは、構文エラーの行に沿ったもので、私が書いたクエリ全体が表示されます。 – shyam