在数字字段中插入空值而不是NULL

时间:2010-08-31 12:08:54

标签: php postgresql

我需要你的帮助。

我们在MySQL上运行了一个PHP应用程序,我们需要将PostgreSQL用于新客户。

问题是当我们在数字类型的字段中插入空字符串时,我们会收到错误。

我认为我们应该使用NULL而不是空字符串。

但是我们希望避免重新编写应用程序的所有SQL代码,我的问题是,是否可以在表(或其他地方)的结构中确保我们的数值列接受空值?或将它们转换为NULL?

在文档中我看到可以定义自己的类型,例如可以创建一个基于数字的类型并确保它接受空值? 如果有,怎么样?我找不到解决方案

谢谢

1 个答案:

答案 0 :(得分:5)

  问题是我们插入的时候   字段中的空字符串   数字,我们得到一个错误。

这是正确的,字符串不是数字。甚至不是一个空字符串。

  

我认为我们应该实际使用NULL   而不是空字符串。

这是正确的,你当前的SQL是错误的。如果您的MySQL配置将使用更好的SQL_MODE,那么您的查询也将在MySQL上失败。修复你的代码,它是迄今为止最好的选择。

通过创建虚拟数据类型进行黑客攻击只是一个黑客,它不是一个坏SQL的解决方案。问题是你的SQL,而不是你的数据库。

相关问题