0列MySQL中的值而不是NULL

时间:2015-03-23 14:16:44

标签: php mysql geocode

我有一个脚本,它对物理地址进行地理编码,并将其放入一个包含两列的MySQL数据库:coord_latcoord_long。这些是float类型的列,但不幸的是,某些地址无法正确地进行地理编码,并且脚本会尝试将地址作为 null推送到数据库中,然后打破脚本因为数据库无法保存null值。

我正在尝试找到一种方法可以重写我的脚本,以确定地理编码的地址是否出现null值,以自动将该值重写为0,以便数据库和脚本不要不要打破。

有人可以给我一些关于将null值转换/替换为0的建议吗?

2 个答案:

答案 0 :(得分:2)

试试这个:

如果PHP(简写为if)

(is_null($value) ? 0:$value)

否则如果MySQL(合并功能)

SELECT COALESCE(@your_value_here,0) FROM dual

供合并参考: http://dev.mysql.com/doc/refman/5.0/en/comparison-operators.html

用于简写if语句(三元):http://davidwalsh.name/php-ternary-examples

答案 1 :(得分:1)

如果值为NULL,则分配0

if(is_null($value)){
  $value = 0;
}