我正在尝试从 mysql 数据库中的 json 列中提取一些 json 数字,并将它们保存到另一个 double 类型的列中
我的sql语句是
update city
set Population = Info
where (
select CAST(JSON_UNQUOTE(JSON_EXTRACT(Info, '$.Population'))as DECIMAL)
);
但我一直收到这个错误:
ERROR: 3156: Invalid JSON value for CAST to DOUBLE from column Info at row 1
Info 列是 json 类型,Population 是 Double 类型
最佳答案
你不能让 set Population = Info
,它们有完全不同的列类型。
您是否只是偶然尝试进行简单的更新?
update city
set Population = JSON_EXTRACT(Info, '$.Population')
关于Mysql json 数据类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55266795/