¿Cómo convertir Postgresql Boolean a MySQL Tinyint?
Estoy intentando migrar una tabla de PostgreSQL a MySQL con todos los datos, pero no pude migrar debido a dos columnas. Estas columnas están en la tabla de Postgresql como booleanos y los valores en estas columnas son VERDADERO o FALSO (parece una cadena). Creé una columna booleana en MySQL pero no acepta los datos VERDADERO / FALSO. ¿Qué debo usar en lugar de booleano para estos valores VERDADERO / FALSO? Probé tinyint (4) pero no funciona (debo migrar los datos ya que son VERDADEROS o FALSOS, no t / f o 1/0).
Un ejemplo:
Postgresqltable( id bigserial not null, message_listening boolean, ....... )
Example record: (1, TRUE, .......)
Respuestas
Migrarlos como VARCHAR(255). Luego, para cada una de esas columnas que desea convertir a MySQL nativo TINYINT(1):
- Cree otra columna (p
test. Ej. ) De tipoTINYINT(1) - Emita el comando
UPDATE tbl SET test = IF( bool_col = 'TRUE', 1, 0 ), dóndebool_colestá la columna que migró de PostgreSQL que contiene la cadena booleana - Suelta la
bool_colcolumna - Cambie el nombre de la
testcolumna abool_col(o lo que prefiera)
Repita los pasos anteriores para cada columna que desee convertir.