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

标签 mysql ruby ruby-on-rails-3

我在 Rails 3.0.20 中使用 mysql2 适配器。 我的列名称为“城市”,“城市”的数据类型为“字符串”。 “:患者详细信息、:城市、:字符串、:null => true” 我没有在“城市”文本字段中输入任何数据并保存。 在数据库中,它显示为空字符串“”而不是 NULL。 为什么要这样存储? 如何将其存储为 NULL 字符?

最佳答案

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

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

顺便说一句,除非确实非常必要,否则我不会在数据库列中使用可为空的数据。

关于mysql - 字符在数据库中未存储为 NULL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22265666/

相关文章:

php - MySQL 中的浮点值本身

ruby-on-rails - 如何从 JBuilder View 委托(delegate)给模型的 to_builder 方法?

ruby-on-rails - 清除或重新创建 Ruby on Rails 数据库

java - 扩展基类和两个具有@Id 注释的类是否会导致实体映射中的重复列?

mysql - 使用 REGEXP 进行 SQL 选择返回错误的数据行

php - 在 PHP 中关闭 MySQL 连接

ruby - RVM 必须 cd 到目录才能根据 .ruby-version 和 .ruby-gemset 更改 gemset

ios - 具有 Web + iOS 应用程序身份验证的 Rails Azure Active Directory SSO

Ruby (bundler) 如何自动要求 Pry

ruby - 用于抓取的 Node.js 或 Ruby