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
答案 0 :(得分:2)
因为REPEAT
是保留关键字。有两种方法可以摆脱它,
一个是用反引号包装,
SELECT * FROM events WHERE `repeat` IS NOT NULL
第二种方法是使用表中定义的别名
SELECT * FROM events e WHERE e.repeat IS NOT NULL