首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将Postgresql布尔值转换为MySQL Tinyint?

问如何将Postgresql布尔值转换为MySQL Tinyint?
EN

Stack Overflow用户
提问于 2020-08-21 07:03:14
回答 1查看 727关注 0票数 1

我正在尝试将PostgreSQL表迁移到包含所有数据的MySQL,但由于有两列,所以无法迁移。这些列在Postgresql表中作为布尔值,且这些列中的值为TRUE或FALSE (看起来类似于字符串)。我在MySQL中创建了一个布尔列,但它不接受真/假数据。对于这些真/假值,我应该使用什么代替布尔值?我尝试了tinyint(4),但它不起作用(我必须迁移数据,因为它是正确的或错误的,而不是t/f或1/0)。

举个例子:

代码语言:javascript
复制
Postgresqltable( id bigserial not null, message_listening boolean, ....... ) 
Example record: (1, TRUE, .......)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-08-21 07:10:08

将它们迁移为VARCHAR(255)。然后,对于要转换为本机MySQL TINYINT(1)的每一列,

TINYINT(1)

  • Issue column

  • Rename

  • 创建另一列(例如test)命令UPDATE tbl SET test = IF( bool_col = 'TRUE', 1, 0 ),其中bool_col是从PostgreSQL迁移的列,其中包含布尔字符串

  • 将bool_col

  • test列拖到bool_col (或您喜欢的)H 217F 218

对要转换的每一列重复上述步骤。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63518037

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档