SELECT * FROM事件中的错误WHERE重复IS NOT NULL

时间:2013-04-07 17:00:54

标签: mysql sql select

 SELECT * FROM events WHERE repeat IS NOT NULL

您好!执行此选择时出现错误:

您的SQL语法有错误;检查与MySQL服务器版本对应的手册,以便在第2行“IS NOT NULL”附近使用正确的语法

但是,如果我使用user_id执行相同的选择,例如:

SELECT * FROM events WHERE user_id IS NOT NULL

我很想知道,因为列的名称是正确的

我桌子的结构:

  create_table "events", :force => true do |t|
    t.string   "title"
    t.date     "shedule"
    t.integer  "user_id"
    t.datetime "created_at", :null => false
    t.datetime "updated_at", :null => false
    t.string   "repeat"
  end

1 个答案:

答案 0 :(得分:2)

因为REPEAT是保留关键字。有两种方法可以摆脱它,

一个是用反引号包装,

SELECT * FROM events WHERE `repeat` IS NOT NULL

第二种方法是使用表中定义的别名

SELECT * FROM events e WHERE e.repeat IS NOT NULL