mysql - where not in Rails 3 是如何工作的

标签 mysql ruby ruby-on-rails-3

这是一个代码片段

Wip.where(status: "P").where("reason NOT IN ?", ['DOB_MISSING'])

这不起作用。

我尝试寻找它并发现了很多问题。他们中的一些人提出了这个建议,但我不确定我哪里错了

这里我粘贴了我的 Rails c 的一部分

[19] pry(main)> Wip.where(status: "P").where("reason NOT IN ?", ['DOB_MISSING']).count
   (0.6ms)  SELECT COUNT(*) FROM `wip` WHERE `wip`.`status` = 'P' AND (reason NOT IN 'DOB_MISSING')
ActiveRecord::StatementInvalid: Mysql2::Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''DOB_MISSING')' at line 1: SELECT COUNT(*) FROM `wip`  WHERE `wip`.`status` = 'P' AND (reason NOT IN 'DOB_MISSING')
from /home/ritu/.rvm/gems/ruby-2.2.3@svasth/gems/rack-mini-profiler-0.9.7/lib/patches/db/mysql2.rb:20:in `query'

最佳答案

这是一个简单的语法错误问题:

where("reason NOT IN (?)", ['DOB_MISSING'])

所有 IN 子句都需要用方括号括起来。

关于mysql - where not in Rails 3 是如何工作的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36883677/

相关文章:

ruby-on-rails - 如何让 Phusion Passenger 使用正确版本的 Ruby?

iphone - 在 iPad 上运行 Ruby 解释器

c - 将 'char *(char *)' 传递给类型为 'VALUE (*)()' 的参数的不兼容指针类型

ruby-on-rails - Rails 应用程序中全文 postgresql 搜索的奇怪行为

ruby-on-rails-3 - Rails 3 & Strong Parameters,获取质量分配错误

php - 创建 cron 作业以在特定日期后自动取消禁止用户?

mysql - 从mysql中的同一列中选择多个元素

ruby-on-rails - 用于设计的自定义注册 Controller 不覆盖创建操作

MySQL - 查询中 IF...ELSE 用法的帮助

php - Wordpress:建立数据库连接时出错。是的,我已经尝试过了。然后