2010-10-10 5 views
0

Я работал над переносом данных из MYSQL в HSQL.Перенос данных из MySQL в HSQL

В файле данных MYSQL, есть много записей, где значение дат установлены в качестве '0000-00-00' и баз данных HSQL бросает под ошибкой:

"data exception: invalid datetime format/Error Code: -3407/State: 22007"

для всех таких записей.

Я хотел бы знать, что может быть оптимальным решением для этой проблемы?

Заранее спасибо

ответ

1

HSQLDB следует SQL Standard и допускает только действительные даты. Дата, такая как «0001-01-01», будет хорошим кандидатом для значения по умолчанию.

Независимо от метода, используемого для вставок данных, строки «0000-00-00» следует исправить перед вставкой. Один из способов сделать это - использовать значение по умолчанию для целевого столбца с 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'