如何从 Informix 中的 syscolumns 检索“Is Null Allowed”属性?
Posted
技术标签:
【中文标题】如何从 Informix 中的 syscolumns 检索“Is Null Allowed”属性?【英文标题】:How to retrieve the "Is Null Allowed" property from syscolumns in Informix? 【发布时间】:2012-12-09 18:06:39 【问题描述】:我试图弄清楚如何以编程方式确定给定表的列在 Informix 数据库中是否可以为空。我已经弄清楚如何获取任何给定数据的列数据,但这些结果似乎对我的目的没有用;也就是说,似乎没有一个属性来指示该列是否接受 null。
我是否需要加入另一个 sys__ 表或类似的东西?
我当前使用的查询:
SELECT *
FROM "informix".syscolumns
WHERE tabid = (SELECT tabid FROM "informix".systables WHERE tabname = 'myTable');
这将返回一个包含 colname、tabid、colno、coltype、collength、colmin、colmax、extended_id、seclabelid 和 colattr 的表。也许可空属性是 coltype 中的东西......?
【问题讨论】:
【参考方案1】:引用from the manual:
上一页列出的coltype
代码可以通过位图递增,显示列的以下特征。
然后在下一页:
同样,如果列不允许 NULL 值,则 coltype 值增加 256。要确定此类列的数据类型,请从值中减去 256 并根据可能的 coltype 值计算余数。例如,如果 coltype 值为 262,则减去 256 得到余数 6,表示该列具有 SERIAL 数据类型
【讨论】:
谢谢。我是 Informix 的新手,所以我想我应该使用 RTFM。 :) 感谢您的回复。以上是关于如何从 Informix 中的 syscolumns 检索“Is Null Allowed”属性?的主要内容,如果未能解决你的问题,请参考以下文章