【问题标题】:Mysql json datatypesMysql json 数据类型
【发布时间】:2019-03-20 17:24:03
【问题描述】:

我试图从 mysql 数据库中的 json 列中提取一些 json 数字并将它们保存到另一个 double 类型的列中

我的sql语句是

update city
set Population = Info
where (
    select CAST(JSON_UNQUOTE(JSON_EXTRACT(Info, '$.Population'))as DECIMAL)
); 

但我不断收到此错误:

错误:3156:第 1 行的信息列中 CAST 到 DOUBLE 的 JSON 值无效

Info 列是 json 类型,Population 是 Double 类型

【问题讨论】:

    标签: mysql json


    【解决方案1】:

    你不能创建set Population = Info,它们有完全不同的列类型。

    您只是想进行简单的更新吗?

    update city
    set Population = JSON_EXTRACT(Info, '$.Population')
    

    【讨论】:

    • 很高兴它有帮助。老实说,我无法弄清楚where 子句的预期目的。
    • 您好,如何使用 python 脚本对 mysql 数据库执行此更新,然后显示结果
    猜你喜欢
    • 2019-01-20
    • 2018-10-09
    • 2016-09-17
    • 1970-01-01
    • 2016-11-07
    • 1970-01-01
    • 2021-01-22
    • 1970-01-01
    • 2010-11-12
    相关资源
    最近更新 更多