data
のすべての行を更新する場合 テーブル、あなたはこのようなことをすることができます:
UPDATE data
LEFT
JOIN node
ON node.title = data.name
SET data.id = node.nid
注:
node
に複数の行がある場合 title
の値は同じです 、name
と一致します data
で 、これらの行のどれがnid
の値であるかは不確定です から割り当てられます。
name
の値がある場合 data
内 node
に見つからないテーブル テーブル(title
内 column)の場合、id
にNULL値が割り当てられます。 列。
クエリを微調整すると、この動作が変更される可能性があります。
サブクエリを使用してこれを実行することは可能ですが、結合操作を使用するだけです。次のような相関サブクエリを使用できると思います:
UPDATE data
SET data.id = ( SELECT node.nid
FROM node
WHERE node.title = data.name
ORDER BY node.nid
LIMIT 1
)