数据库字段名为key时,运行异常
@JFinal 你好,想跟你请教个问题:
我有一张关键词表,有个字段叫key,使用查找方法:
Keyword keyword = Keyword.dao.findFirst("select * from keyword where key = ?", new Object[] { contents[0] });
运行到这一行,异常,但是不会报异常,但也不会继续执行下去,特别的奇怪
将字段名改为keyname后,运行就无错了
Keyword keyword = Keyword.dao.findFirst("select * from keyword where keyname = ? ", new Object[]{ contents[0] });
另外数据库是mysql
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(8)
多谢
记得可以用重音符号包一下 `key`=xxx
保留字段 可以用tables.key
3Q,如果要注入多个参数,还是要new 的吧
回复
再多的参数也不需要new,直接用逗号分隔即可,just do it
回复
百度了一下,才知道这是动态参数,又学到了,谢谢
回复
2016用jfinal开发,就这么定了
"key" 是 mysql 的保留字,所以在 sql 中使用的时候需要使用 "`" 字符来包裹一下,注意这个字符在数字 1 键左边的键上面,另外,查询语句建议写成这样:
也即不要使用 new Object 来传参,sql中最好添加一个 limit 1提升性能,这个在方法注释上有提示