Come convertire Postgresql Boolean in MySQL Tinyint?
Aug 21 2020
Sto cercando di migrare una tabella PostgreSQL a MySQL con tutti i dati, ma non sono riuscito a migrare a causa di due colonne. Queste colonne sono nella tabella Postgresql come booleane e i valori in queste colonne sono VERO o FALSO (sembra una stringa). Ho creato una colonna booleana in MySQL ma non accetta i dati VERO / FALSO. Cosa dovrei usare al posto di booleano per questi valori VERO / FALSO? Ho provato tinyint (4) ma non funziona (devo migrare i dati perché è VERO o FALSO, non t / f o 1/0).
Un esempio:
Postgresqltable( id bigserial not null, message_listening boolean, ....... )
Example record: (1, TRUE, .......)
Risposte
1 kmoser Aug 21 2020 at 14:10
Migrali come VARCHAR(255). Quindi, per ciascuna di quelle colonne che desideri convertire in MySQL nativo TINYINT(1):
- Crea un'altra colonna (ad esempio
test) di tipoTINYINT(1) - Esegui il comando
UPDATE tbl SET test = IF( bool_col = 'TRUE', 1, 0 ), dov'èbool_colla colonna migrata da PostgreSQL che contiene la stringa booleana - Rilascia la
bool_colcolonna - Rinomina la
testcolonna inbool_col(o come preferisci)
Ripeti i passaggi precedenti per ogni colonna che desideri convertire.