我正在尝试根据另一个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
答案 0 :(得分:1)
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;