0

実行時にさまざまなタスクのためにさまざまな H2 データベース ファイルをロードする必要があるアプリケーションがあり、ロードされた DB が事前定義されたスキーマに準拠していることを確認できなければなりません。これは、情報スキーマにクエリを実行して、特定のテーブルが存在するかどうか、およびこれらのテーブルに適切に定義された列 (データ型、長さ、インデックスなど) が含まれているかどうかを確認することを意味します。

私の質問は、H2 の内部データ型と、それらが にリストされている値にどのようにマップされるかに関するものですINFORMATION_SCHEMA.COLUMNS。たとえば、このテーブルの data_type 列が、テーブルの作成時に指定された列のデータ型を適切に反映していることを修正します。

CREATE TABLE test (id int primary key, some_string varchar(32) ... )

int は 4 のデータ型にマップされていますか? 内部コードへのデータ型のマッピングのリストはありますか? また、これらは変更されますか?

4

1 に答える 1

1

DATA_TYPE表 tableの列は、メソッドのINFORMATION_SCHEMA.COLUMNS列 5() にマップされます。で定義されているように、仕様により、これは整数である必要があります。定数は を意味します。DATA_TYPEDatabaseMetaData.getColumnsjava.sql.Types4INTEGER

これは JDBC 標準の一部であり、変更される予定はありません。

于 2012-09-05T04:45:52.033 に答える