我有一个名为SystemState
的模型。以下是创建此表的迁移:
create_table :system_states do |t|
t.string :code
t.timestamps
end
但是,即使 code 列是 string 类型,当我执行以下操作时:
> SystemState.first
> #<SystemState id: 1, code: 0, created_at: "2017-03-14 10:19:45", updated_at: "2017-03-14 10:28:33">
> SystemState.find(1).update_attributes(code: "system_alert_notification")
> SystemState.first
> #<SystemState id: 1, code: 0, created_at: "2017-03-14 10:19:45", updated_at: "2017-03-14 10:29:43">
可以看出,它总是将其更新为0(整数)。
列名是保留的还是什么?迫切想知道上述原因。
最佳答案
以下是一些可能性:
1) 可能code
是mysql中的保留字
2)另外,我确信您的数据库中的列是整数类型。将其更改为字符串,它应该可以工作。
关于mysql - 无法使用所需的字符串值保存/更新字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42783659/