我有一个名为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/

10-09 20:58