我有一个名为SystemState
的模型。以下是创建此表的迁移:
create_table :system_states do |t|
t.string :code
t.timestamps
end
但是,即使代码列是字符串类型,在执行以下操作时:
> 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/