2010-08-31 37 views
4

我需要您的帮助。在数值字段中插入空值而不是NULL

我们有一个运行在MySQL上的PHP应用程序,我们需要为新客户使用PostgreSQL。

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

我认为我们应该实际使用NULL而不是空字符串。但我们想避免重新编码我们的应用程序的所有SQL代码,我的问题是在表(或其他地方)的结构中是否可以确保我们的数字列接受空值?或将它们转换为NULL?

在文档中我已经看到可以定义自己的类型,例如可以创建基于数字的类型并确保它接受空值吗? 如果是的话如何?我发现没有解决

谢谢

回答

5

的问题是,当我们插入式 数字的领域 空字符串,我们得到一个错误。

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

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

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

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

相关问题