Миграция данных из MySQL в HSQL

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

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

«Исключение данных: недопустимый формат даты и времени/Код ошибки: -3407/Состояние: 22007»

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

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

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


person Vicky    schedule 10.10.2010    source источник


Ответы (1)


HSQLDB следует стандарту SQL и допускает только действительные даты. Дата, такая как «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'
person fredt    schedule 10.10.2010