You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过SMALLINT类型UserID与BINARY(32)类型passwordTest查询全表数据

解决方案:通过UserID和passwordTest查询User表数据

没问题,这是你需要的查询语句,同时我会给你几个关键细节,避免出现匹配不上的情况:

基础查询语句

如果你的passwordTest已经是二进制格式的值,可以直接用下面的语句:

SELECT *
FROM `test`.`User`
WHERE `UserID` = 你的用户ID数值
  AND `passwordTest` = 你的二进制密码值;

关键注意事项

  • 关于UserID的匹配:
    你的UserID是SMALLINT UNSIGNED ZEROFILL类型,ZEROFILL只是显示时补前导零的格式,存储的本质还是无符号小整数。所以查询时直接用对应的数值即可,比如用户ID是123,就写UserID = 123,不需要加前导零。

  • 关于BINARY(32)类型的密码匹配:
    BINARY(32)是严格区分大小写且固定长度的类型——如果存储时不足32字节会自动补0x00,查询时必须完全匹配。如果你的密码是明文或者哈希字符串(比如SHA256的十六进制字符串),需要先转换成二进制格式,MySQL里可以用UNHEX()函数处理:

    SELECT *
    FROM `test`.`User`
    WHERE `UserID` = 123
      AND `passwordTest` = UNHEX('你的32字节哈希字符串');
    
  • 优化建议:
    尽量避免用SELECT *,明确列出你需要的字段会让查询更清晰、性能更优,比如:

    SELECT `UserID`, `firstname`, `lastname`, `registration_date`
    FROM `test`.`User`
    WHERE `UserID` = 123
      AND `passwordTest` = UNHEX('哈希值');
    

内容的提问来源于stack exchange,提问作者DontJudgeMyBadCodePls

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 10:24:17