【问题标题】:0 Value instead of NULL in column MySQLMySQL 列中的 0 值而不是 NULL
【发布时间】:2015-03-23 14:16:43
【问题描述】:

我有一个脚本,可以对物理地址进行地理编码并将其放入 MySQL 数据库中,其中包含两列:coord_latcoord_long。这些是float 类型的列,但不幸的是,某些地址没有正确地进行地理编码,脚本尝试将地址作为 null 推送到数据库中,然后由于数据库不能持有null 值。

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

谁能给我一些关于将null 值切换/替换为0 的建议?

【问题讨论】:

  • 您能否显示输入默认值null 的代码?从表面上看,您应该将这两个值默认为0,然后在创建地理编码值后用正确的值覆盖它们。
  • 0,0 是地球上一个真实的地方。也许你想使用 91,0。

标签: php mysql geocode


【解决方案1】:

试试这个:

if PHP(if 的简写)

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

else if 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

【讨论】:

  • ...或在 php 中,$value=(integer)$value
【解决方案2】:

如果值为NULL,则赋值为0

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

【讨论】:

    猜你喜欢
    • 2020-10-12
    • 1970-01-01
    • 2019-02-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-23
    • 1970-01-01
    相关资源
    最近更新 更多