数据库

Mysql 对varchar字段用int数值来查询的问题

By karp 1597 Views 1 MIN READ 0 Comments

最近遇到一个常见问题 :捕获币安永续合约委托单记录 ETH/USDT
OrderId 超过了19位 举例: 83897654934205xxxxx

存储第三方交易所委托ID 使用varchar(50)
但JSON接口解开数据得到OrderId 返回int类型 直接用于 查询及写错做, 造成数据中的脏数据,以及其他问题.

解决方案:

  1. 不信任任何外界参数及类型(逐类型处理 php 不是强项)
  2. 参数强行转换
  3. 底层mysql 数据处理应在读写前增加类型处理, 增加数据类型存储

目前仅将OrderId 字段强转

本文由 karp 原创

采用 CC BY-NC-SA 4.0 协议进行许可

转载请注明出处:https://www.ikarp.top/index.php/archives/501.html

标签: mysql

0 评论