mysql - 用另一个 MySQL 表的值更新一个 MySQL 表(原始表的数据类型为 JSOn)

标签 mysql sql json

我正在尝试根据另一个 MySQL 表的信息更新一个 MySQL 表。

我想将值与要更新的其他表进行比较的原始表中有一个 JSON 对象。

这是我的表格的样子

原始表

表1

id | programme
------------
1  | ["22","34"]
2  | ["10","11","12","13","14","15","17","18","19","20"]

要更新的表格

表2

id | programme_id | table1_id
-----------------------------
1  |     22       |
2  |     18       |
3  |     12       |


UPDATE table2
INNER JOIN table1 USING (programme_id)
SET table2.table1_id = table1.id

这是预期的输出:

id | programme_id | table1_id
-----------------------------
1  |     22       |   1
2  |     18       |   2
3  |     12       |   2

最佳答案

set sql_safe_updates = 0;
update table2
inner join table1 
on JSON_SEARCH(table1.programme,'one',table2.programme_id) is not null
set table2.table1_id = table1.id;

关于mysql - 用另一个 MySQL 表的值更新一个 MySQL 表(原始表的数据类型为 JSOn),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56661003/

相关文章:

具有默认 CURDATE() 的 MySQL DATE 字段。不是日期时间

php - 找出 mysql 查询将要访问哪些表(事先)

java - 使复选框仅在sql中对应5列

mysql - MySQL Select 查询中子选择的效率

java - WSO2 ESB 消息上下文无法通过自定义类中介器更改

json - npm 安装错误 - 无效的 package.json

mysql - 如何在 SQL 查询的 WHERE 子句中使用表值?

mysql - 通过excel VBA在mysql中准备语句

c# - 删除 SQL 数据库中不存在的图像

javascript - 从 typescript 对象中查找具有填充值的属性名称