Postgresql Boolean MySQL Tinyint'e Nasıl Dönüştürülür?
Bir PostgreSQL tablosunu tüm verilerle bir MySQL'e taşımaya çalışıyorum, ancak iki sütun nedeniyle geçiş yapamadım. Bu sütunlar, Boole olarak Postgresql tablosunda yer alır ve bu sütunlardaki değerler TRUE veya FALSE şeklindedir (bir dizge gibi görünür). MySQL'de bir boolean sütun oluşturdum ama TRUE / FALSE verilerini kabul etmiyor. Bu DOĞRU / YANLIŞ değerler için boole yerine ne kullanmalıyım? Tinyint (4) 'ü denedim ama işe yaramıyor (Verileri TRUE veya FALSE olduğu için taşımalıyım, t / f veya 1/0 değil).
Bir örnek:
Postgresqltable( id bigserial not null, message_listening boolean, ....... )
Example record: (1, TRUE, .......)
Yanıtlar
Olarak taşıyın VARCHAR(255). Ardından, yerel MySQL'e dönüştürmek istediğiniz bu sütunların her biri için TINYINT(1):
- Türünde başka bir sütun (örneğin
test) oluşturunTINYINT(1) - Boolean dizesini içeren PostgreSQL'den taşıdığınız sütun
UPDATE tbl SET test = IF( bool_col = 'TRUE', 1, 0 )nerede komutu verinbool_col bool_colSütunu bırakıntestSütunubool_col(veya tercih ettiğiniz şekilde) yeniden adlandırın
Dönüştürmek istediğiniz her sütun için yukarıdaki adımları tekrarlayın.