数据库 mysql 用 int 值 select varchar 字段,结果查出来了所有结果

匿名 · 2016年12月22日 · 最后由 luikore 回复于 2016年12月25日 · 6256 次阅读

正常查询是这样的

select * from users where email = '[email protected]'

orm 和代码没处理好,传了 false 值,结果生成的 sql 是这样的

select * from users where email = 0

这个语句在 mysql 中会把所有 user 查出来,在 postgresql 会报错。

那么能不能通过在 mysql 的设置来避免这个问题呢?

将 前端传的值 强制转为 字符串。一般的 http 请求 rails 都会帮你做过滤操作的吧

匿名 #2 2016年12月23日

#1 楼 @pathbox 嗯,但我想能在 mysql 上设置最好

#2 楼 @u1370743666 这显然应该在应用上设置啊,为什么你会想降到数据库层上解决?

我给两个简易的解决建议... :

A: 换 pg B: 换工作

需要 登录 后方可回复, 如果你还没有账号请 注册新账号