Informix 中 MySQL 的 BIGINT 的替换数据类型是啥?

Posted

技术标签:

【中文标题】Informix 中 MySQL 的 BIGINT 的替换数据类型是啥?【英文标题】:What is the replacement data type in Informix for MySQL's BIGINT?Informix 中 MySQL 的 BIGINT 的替换数据类型是什么? 【发布时间】:2012-02-23 06:31:34 【问题描述】:

我想在我的 Informix 表中存储大整数值,例如 mysql bigint。但是 Informix 没有数据类型 bigint。我必须改用什么数据类型?

【问题讨论】:

始终指定您使用的 Informix 版本以及您使用它的平台。 【参考方案1】:

在所有平台(32 位和 64 位)上当前版本的 Informix Dynamic Server(即 IDS 版本 11.x)上,有一个数据类型 BIGINT,它是一个 8 字节整数(和一个匹配的 BIGSERIAL) .

对于歇斯底里的葡萄干1,还有第二对类型:INT8 和 SERIAL8。但是(这是歇斯底里的一点),它们在磁盘上占用 10 个字节而不是 8 个字节。我不推荐它们。任何给定的表都可以具有 BIGSERIAL 或 SERIAL8 列,但不能同时具有;你也可以有一个 SERIAL 列,但是为什么你需要更大的数字。 (也有序列用于生成按 1 以外的值递增的数字,但它们比 (BIG)SERIAL(8) 列更易于使用。)

如果您没有 BIGINT,则必须使用过时的 Informix 版本。

Informix 整数数据类型存在一个问题。有效值的范围是对称的。例如,SMALLINT 的有效范围是 ±32767。奇数球值(在 2 的补码机器上为 -32768,在符号幅度机器或 1 的补码机器上为 -0)保留用作 NULL。


1对于“歇斯底里的葡萄干”,请阅读“历史原因”。

【讨论】:

以上是关于Informix 中 MySQL 的 BIGINT 的替换数据类型是啥?的主要内容,如果未能解决你的问题,请参考以下文章

在informix中相当于日期时间年份的Mysql到分数(3)

将 schema 和 SP 从 informix 迁移到 mysql

mysql bigint与bigint unsigned

请问在mysql中int和bigint差别有多大?在什么情况下需要用到bigint?

如何从 ActiveRecord 访问隐藏列(在 Informix 中)

Mysql Bigint数据类型带空格