0

私はMYSQLからHSQLへのデータの移行に取り組んでいました。

MYSQLデータファイルには、日付値がとして設定されているレコードがたくさんあり'0000-00-00'、HSQLデータベースは以下のエラーをスローします。

「データ例外:無効な日時形式/エラーコード:-3407 /状態:22007」

そのようなすべての記録のために。

この問題の最適な解決策を知りたいですか?

前もって感謝します

4

1 に答える 1

1

HSQLDB は SQL 標準に従い、有効な日付のみを許可します。「0001-01-01」などの日付は、デフォルト値の適切な候補です。

データ挿入に使用される方法に関係なく、'0000-00-00' 文字列は挿入前に修正する必要があります。これを行う 1 つの方法は、DEFAULT DATE'0001-01-01' でターゲット列のデフォルト値を使用し、INSERT ステートメント内のストリングをキーワード DEFAULT で置き換えることです。例えば:

CREATE TABLE MYTABLE ( C1 INT, C2 DATE DEFAULT DATE'0001-01-01')
INSERT INTO MYTABLE VALUES 1, DEFAULT
INSERT INTO MYTABLE VALUES 3, '2010-08-14'
于 2010-10-10T16:19:00.820 に答える