我目前正在尝试列出特定表的所有列并确定每列是否无符号。
这里,我的测试夹具的一个例子:
CREATE TABLE ttypes
(
cbiginteger BIGINT UNSIGNED,
cinteger INT UNSIGNED,
csmallinteger SMALLINT UNSIGNED
) ENGINE = InnoDB;
为了列出特定表的所有列,我发现了两种可能性:
SHOW FULL COLUMNS
FROM ttypes;
根据文档,此查询返回以下字段:字段、类型、空值、默认值、额外和注释。它们都不允许我确定列是否未签名。
之后,我查看information_schema.columns
哪个是SHOW COLUMNS
查询使用的基表。
SELECT ...
FROM information_schema.columns
WHERE table_name = 'ttypes';
不幸的是,没有一个结果字段允许我确定列是否是无符号的。