Mysql json 数据类型

标签 mysql json

我正在尝试从 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 类型

Screenshot

最佳答案

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

您是否只是偶然尝试进行简单的更新?

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

关于Mysql json 数据类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55266795/

相关文章:

python - 在 sqlalchemy 中使用多列从另一个表更新一个表

mysql - 不允许 Docker mysqld 绑定(bind)操作

php - 使用 PHP 在文档中查找和替换具有给定类名的 html 元素内容

javascript - 带有用户生成内容的菜单选项

mysql - 使用 LOAD DATA LOCAL INFILE 在导入期间将字符串添加到字段

mysql - 如何在MySQL查询中更好地获取不同的行?

java - 我如何表示对 Java 类的 JSON 响应?

javascript - 在 Javascript、JSON 中描述元组的有效方法

php - 添加另一个条件过程

objective-c - -[__ NSArrayM objectForKey:]:无法识别的选择器发送到实例Objective c中的错误