MySQL执行LEFT JOIN时报Not unique table/alias错误求助
问题原因及修正方案
1. 首要错误:关联表名填写错误
你当前的SQL语句中LEFT JOIN后填写的还是10561_12865_tblNotifications通知表,并没有引入你需要关联的10561_12865_tblCircles圈子表,这是查询执行失败的核心原因,和是否用别名没有直接关系。
2. 关于表别名的说明
别名不是语法强制要求的,但你的表名前缀过长,每次拼写全表名非常容易出现书写错误,用短别名可以大幅简化代码、降低出错概率,也更便于后续维护。
3. 修正后的可执行SQL
这里给你使用别名简化后的正确写法:
var sqlString1 = "SELECT n.forUserID, n.notificationType, n.message, c.smallPic \ FROM 10561_12865_tblNotifications n \ LEFT JOIN 10561_12865_tblCircles c ON c.tblCircleID = n.identifier \ WHERE n.forUserID = '6' \ LIMIT 0,4"
4. 额外注意事项
你当前直接拼接字符串生成SQL的写法存在SQL注入风险,建议改用参数化查询方式传递forUserID、分页参数等动态值,避免恶意数据攻击。
内容的提问来源于stack exchange,提问作者innom
相关产品推荐
相关产品推荐

