今天查询数据的时候遇到一个小问题。
我们在定义商户/商品信息的时候有一个”描述”字段, 字段名为缩略语:desc (Description)
动态构造出来的查询语句如下:
SELECT id,name,tags,desc,image,created,phone,status FROM trade_vendors INNER JOIN trade_vendor_category
ON trade_vendors.id = trade_vendor_category.VendorId
WHERE CategoryId in (42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,6)
AND (trade_vendors.status = 1 OR -1 = 1)
ORDER BY created DESC LIMIT 0, 5
结果返回错误。
原因是desc是sql语法关键字,解决方法是在desc上加上sql字段引用符号:`desc`, 或者加上表名前缀trade_deals.desc
结论是在字段命名的时候尽量不要使用SQL关键字,查询的时候尽量加上字段引用符号,以免不注意的情况下引入冲突。
iefreer
版权声明:本文为weixin_32893479原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。