Mysql 使用另一个表中的值更新列

Mysql 使用另一个表中的值更新列,mysql,sql,mariadb,Mysql,Sql,Mariadb,我有两张桌子: 表1 和表2 id nodeid name ================== 1 2277415937 Kirk 2 1098140669 Serena 当table2中的nodeid列中的值位于table1中的节点列中时,我需要更新表1中的名称列 我试着这样做,但不起作用 UPDATE table1 t1 INNER JOIN table2 t2 ON t1.node LIKE '%'+t2.nodeid+'%' SET t1.name = t2.nam

我有两张桌子: 表1

和表2

id nodeid      name
==================
1  2277415937  Kirk
2  1098140669  Serena
table2
中的
nodeid
列中的值位于
table1
中的
节点
列中时,我需要
更新
表1
中的
名称

我试着这样做,但不起作用

UPDATE table1 t1
INNER JOIN table2 t2 ON t1.node LIKE '%'+t2.nodeid+'%'
SET t1.name = t2.name

你能告诉我怎么做吗?谢谢你的数据模型太糟糕了。在MySQL中,
+
仅表示添加。您可以使用
find\u in\u set()

注意:您应该努力修复
表1
(每个节点一行,而不是一个字符串)。不要花时间去理解数据模型

UPDATE table1 t1
INNER JOIN table2 t2 ON t1.node LIKE '%'+t2.nodeid+'%'
SET t1.name = t2.name
UPDATE table1 t1 INNER JOIN 
       table2 t2
       ON find_in_set(t2.node_id, t1.node)
    SET t1.name = t2.name;