准备 SQL 与参数
从同一次请求中复制 SQL 和有序参数,先确认两者属于同一次执行。以下为合成示例,不包含真实业务数据。
SELECT * FROM orders WHERE user_id = ? AND status = ? 参数 1:数字 42 参数 2:字符串 paid
在工具里按类型逐项填写
打开 SQL 参数还原工具,将 SQL 放入输入区,删除示例参数,添加数字 42 和字符串 paid,然后运行。字符串可能输出为 UTF-8 十六进制表达式,这是为了避免引号及反斜杠受 SQL 模式影响,不代表内容丢失。
为什么不能直接全局替换问号
SQL 字符串和注释中也可能出现问号,它们不是参数。参数的数量、顺序和类型都需要核对;NULL 与字符串 null 不同,字符串 00123 也不能随意变成数字。
SELECT '?' AS marker, id FROM orders WHERE id = ?
支持范围与结果检查
当前工具仅处理 MySQL 风格 ? 占位符,不处理 PostgreSQL $1 或命名参数。不自动解析整段 MyBatis 日志,请自行分离 SQL 与参数。结果供阅读和核查,不连接数据库;应用代码仍应使用驱动参数绑定。