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

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

0 голосов
/ 10 октября 2010

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

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

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

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

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

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

1 Ответ

1 голос
/ 10 октября 2010

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'
...