Mysql json数据类型

时间:2019-03-20 17:24:04

标签: mysql json

我正试图从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值无效

“信息”列的类型为json,“人口”类型为Double

Screenshot

1 个答案:

答案 0 :(得分:0)

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

您是不是偶然地尝试进行简单的更新?

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