数据库 MySQL 的 那个用法可以实现以下功能?

yangman_wenzhu · 2015年01月12日 · 最后由 yangman_wenzhu 回复于 2015年01月14日 · 1870 次阅读
A 是一个数据库表          id, name 是他的两个列        其中 name是 varchar类型的
select id from A as a where a.name in ("你好", "妞妞");
A
id name
1   你好
2   妞妞
3   大牛
4   小小


得到的结果是
id  name
1    你好


其实数据库也是有:
id name
2    妞妞

记录的 但是这种方式肯定是查询不出来的 但是自己是在想不出其他方式实现这样的功能

想要的结果:
id name
1   你好
2   妞妞

这样的写法是没有问题的, 只是在数据库中查询和 Ruby 的写法不一致 注意 () 和 []

我用数据库是可以查出来的,你看看你数据库的编码对不对?要设置成一样的,并且输入的编码也得是一样的!

#1 楼 @huhongda 多谢了 查询出来了 在我的数据库下 这种方法是没错的 是我自己在 console 下写错了写成:"name in (['你好','妞妞'])" 这是不对的 应该是 ["name in (?)", ['你好','妞妞']]

@yangman_wenzhu 你在 console 也不应该用数据拼接啊! 直接 User.where(name: Array) 就可以了啊!不用写那么多哈!

#3 楼 @huhongda 哦 是了 我的版本没说 rails2.3.8 ruby1.8.7

User.find(:all, :conditions => ["user_name in (?)",["杨洋","杨阳"]]) 

**这样的写法就没问题了**

是我粗心了 题目都没说清楚 不好意思呢 还多谢 一直的指导

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