2013-12-10 5 views
1

Я копирую данные из одной таблицы базы данных в другую таблицу базы данных. Это, по сути, копирование данных из нашего старого формата в наш новый формат. Таким образом, помимо простого копирования столбцов value-for-value, мне также нужно сделать некоторые преобразования в операторах копирования.MYSQL Копирование одной таблицы в другую таблицу с преобразованием столбцов

Для, например, вот что я должен сделать копирование ...

INSERT INTO new_database.table1 (id, product, is_default) 
SELECT id, product, is_default FROM old_database.table1 

Ид и продукт работает нормально. Но в этом примере old_database хранит «is_default» как VARCHAR(1), либо «Y», либо «N». База new_database хранит «is_default» как BOOLEAN.

Как я могу сделать преобразование между форматами в инструкции INSERT SELECT, которую я уже использую?

ответ

2

Try, как показано ниже:

INSERT INTO new_database.table1 (id, product, is_default) 
SELECT id, product, IF(is_default='Y',1,0) as isdefault FROM old_database.table1 
Смежные вопросы