MariaDB 连接器删除 ZEROFILL 字段上的前导零

MariaDB Connector Removing Leading Zeros on ZEROFILL fields

我刚刚从 MySQL 5.7 升级到 MariaDB 10.3,一个功能差异让我感到困惑。我有一个属于以下类型的索引字段:

UserID | int(9) unsigned zerofill

如果我执行以下查询:

SELECT UserID FROM User WHERE UserID='000000003';

我得到:

+-----------+
| UserID    |
+-----------+
| 000000003 |
+-----------+

如果我使用来自 Node.js 的 MariaDB 回调连接器,我会得到以下信息:

[
        {
            "UserID": 3
        }
]

如何防止 MariaDB Connector/Node.js 回调 API 从索引中删除前导零?现在我知道我可以在我的所有查询之后填充 API 中索引引用的每个实例,但这似乎......效率低下。

有没有更好的方法?谢谢

node.js 驱动程序自动评估值类型。因为这是一个整数,所以 3 是期望值。

如果你明确想要一个字符串,你可以通过 sql 来判断,比如查询 select cast (UserID AS CHAR) as UserID from User WHERE UserID='000000003';

这将 return

[
        {
            "UserID": '000000003'
        }
]