当前位置: 首页 > 知识库问答 >
问题:

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

岳永思
2023-03-14

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

例如:

Postgresqltable( id bigserial not null, message_listening boolean, ....... ) 
Example record: (1, TRUE, .......)

共有1个答案

印飞捷
2023-03-14

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

  • 创建另一列(例如test)类型为TINYINT(1)
  • 发出命令UPDATE tbl SET test=IF(bool\u col='TRUE',1,0),其中bool\u col是从PostgreSQL迁移的列,其中包含布尔字符串
  • 删除bool\u列
  • test列重命名为bool\u col(或您喜欢的任何内容)

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

 类似资料:
  • 问题内容: 我有一个布尔变量,我想将其转换为字符串: 我需要转换后的值的格式为:,而不是 我试过了: 但是它告诉我,并且不是公认的功能。 如何将此布尔值转换为PHP 或PHP 格式的字符串? 问题答案: 最简单的解决方案:

  • 我有一个值,它将是四件事之一:布尔true、布尔false、字符串“true”或字符串“false”。如果字符串是字符串,我想将字符串转换为布尔值,否则不修改它。换句话说: “true”应该变为true “false”应变为false 真实应该保持真实 false应保持为false

  • 问题内容: 我有一个pojo类,其中标志之一是Boolean类型。 当此属性获取非布尔值(不是fastxml时)时,杰克逊会自动将输入值转换为。调试了几个小时后,我发现这是在setter方法中发生的。 如果此属性的输入值为非布尔值,我想传递自定义消息。我已经编写了自己的注释来验证此属性的输入值,并返回自定义消息(如果它不是布尔值,但是杰克逊在检查自定义验证器之前将其绑定)。 使用杰克逊版本>>>

  • 但是这个代码不起作用。编译器说 我在试图理解代码的问题是什么。我认为将返回一个布尔值流,我可以通过收集这些值。

  • PHP是否有任何内置函数可以接受布尔值并返回其整数等效值?0代表FALSE,1代表TRUE?当然,您可以轻松创建一个函数来做到这一点,我只是询问PHP内部是否有内置函数。我已经尝试了并将其转换为但它们不起作用,它们在TRUE和FALSE两种情况下都返回0。 编辑:问题是它不是真正的布尔值,而是一个字符串“false”、“true”,php没有检测到传递布尔值的jquery帖子。问题解决了,谢谢!

  • 因此,我想知道是否有一个利索的方法来做这件事,除了