SELECT a.*FROM flow aLEFT JOIN project b ON INSTR(a.remark, b.name) > 0;
问题分析
数据库的INSTR()函数在第二个参数为空字符串时返回真,造成无效关联。
解决方案
增加空值过滤条件:SELECT a.*FROM flow aLEFT JOIN project b ON INSTR(a.remark, b.name) > 0 AND TRIM(b.name) != ”;或设计更严谨的关联逻辑。
二、沟通信息失真:配置删除操作的误解
事件经过
同事A告知:“需删除配置表中node_id=’NODEA’的记录”,并提供查询语句:SELECT * FROM t_exp_config WHERE node_id = ‘NODEA’;我依此编写删除语句:DELETE FROM t_exp_config WHERE table_name = ‘xxx’;执行前发现:生产环境中node_id实际值为列表形式(如’NODEA,NODEB,NODEC’)。经与相关团队直接沟通,确认只需移除NODEA,保留NODEB和NODEC。