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'
}
]
我刚刚从 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'
}
]