字符在数据库中未存储为NULL

时间:2014-03-08 05:51:27

标签: mysql ruby ruby-on-rails-3

我在rails 3.0.20中使用mysql2适配器。     我有一个列名为'city'& 'city'的数据类型是'string'。     “:patient_details,:city,:string,:null => true”     我没有在“城市”文本字段中输入任何数据并保存。     在数据库中,它显示为空字符串“”而不是NULL。     为什么这样存储?     如何将其存储为NULL字符?

1 个答案:

答案 0 :(得分:1)

在将模型保存到数据库之前,需要添加一些代码(如下所示)。当rails从前端接收数据时,它可能无法区分空数据或空数据。

patient_details.city = nil if patient_details.city == ''

顺便说一句,我不会将可空数据用于数据库列,除非它确实是非常必要的。