您好我正在尝试将timedate列更新为NULL,但我无法使其工作。请帮忙。
我试过了:
User.where(interviewed: false).where("interview_date < ?", Time.now).update_all(interview_date: NULL)
我明白了:
NameError: uninitialized constant NULL
我试过了:
User.where(interviewed: false).where("interview_date < ?", Time.now).update_all(interview_date: null)
我明白了:
NameError: undefined local variable or method `null' for main:Object
我试过了:
User.where(interviewed: false).where("interview_date < ?", Time.now).update_all(interview_date: "")
我明白了:
PG::InvalidDatetimeFormat: ERROR: invalid input syntax for type timestamp: ""
答案 0 :(得分:4)
Ruby中没有NULL
类型。只有nil
。
你必须这样做:
User.where(interviewed: false).where("interview_date < ?", Time.now).update_all(interview_date: nil)
ActiveRecord会自动将ruby的nil转换为sql null。