e7a12d8828
- 修正 FileRecordMapper.xml 中关键词搜索部分,将 b.name 和 b.comments 改为正确字段 - 搜索范围扩展至文件名、路径、注释及用户的用户名、昵称和真实姓名 - 添加关键词数字校验,避免非数字字符串误匹配 create_user_id - 防止因跨 Mapper 复制导致的表别名错误及字段不存在的问题
963 B
963 B
2026-09-03
修复:素材管理搜索报 Unknown column 'b.name'
- 文件:
src/main/java/com/gxwebsoft/common/system/mapper/xml/FileRecordMapper.xml - 根因:
selectSql的keywords模糊搜索块(2024-11-25 提交cf4f010引入,疑似从 UserVerifyMapper 复制过来未改别名)写成了b.name/b.comments。 该块中a= sys_file_record,b= sys_user;sys_user 没有name字段(只有 username / nickname / real_name / phone),故 MySQL 报Unknown column 'b.name' in 'where clause'。 - 修复:关键词改为搜索文件侧字段
a.name/a.path/a.comments,加上传者b.username/b.nickname/b.real_name;a.create_user_id = #{param.keywords}用<if test="param.keywords.matches('[0-9]+')">包住,避免非数字关键词被 MySQL 隐式转成 0。 - 教训:跨 mapper 复制动态 SQL 片段时,务必核对表别名与目标表字段(sys_user 无 name 列)。