gpt4 book ai didi

mysql - 将 MySQL tinyint 类型转换为 bit

转载 作者:行者123 更新时间:2023-11-29 14:59:07 25 4
gpt4 key购买 nike

我使用 MySQL 迁移工具包将 SQL Server 2008 数据库迁移到 MySQL。但是,它将我的所有 bit 类型转换为 tinyint。我的数据模型不喜欢这样,因为我有一堆表达式测试真/假,而不是 0-255。

有没有办法告诉工具包转换这些不同的,或者我可以在新数据库上运行一些 SQL 来转换?

最佳答案

在 5.0.5 之前的 MySQL 中,Bit 并不真正存在,因此迁移工具包可能尚未更新,但您可以根据 mysql 网站的引用使用 TINYINT(1) 来代替:

“从 MySQL 5.0.3 开始,BIT 数据类型可用于存储位字段值。(在 5.0.3 之前,MySQL 将 BIT 解释为 TINYINT(1)。)在 MySQL 5.0.3 中,仅支持 BIT MySQL 5.0.5 将 BIT 支持扩展到 MEMORY、InnoDB、BDB 和 NDBCLUSTER。”

为了进行转换,您可以使用 ALTER TABLE:

更改表修改 TINYINT(1);

或者,如果您想使用新的 BIT 类型,您也可以将其子化,但由于它有点新,我认为我们将继续在 BIT 类型方面遇到一些问题。

不过,实际上并没有一个很好的方法来对所有列执行此操作,我通常在导入之前使用 sed 或 perl -pi 在 .sql 文件中进行修改。

希望有帮助!

关于mysql - 将 MySQL tinyint 类型转换为 bit,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3771712/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com