我正在尝试将包含数据的列复制到MySQL中的另一个表中。但我无法绕过它。两个表都有一个名为'nid'的id列,非常适合。
我想将名为'field_pref_position_value'的列从表'content_field_pref_position'移到表'content_type_player'中的'pref_position'列。我已经将列'pref_position'。
任何帮助都非常感激。
编辑:我犯了一个大错。我将列复制到表'content_type_player'而不是'content_type_transfer',它应该是,但现在当我尝试对content_type_transfer使用相同的查询时,它只返回'0行受影响。 (查询花了0.0015秒)'而不更新列。无法弄清楚这笔交易是什么?
我正在使用此查询:
UPDATE content_type_transfer
JOIN content_field_pref_position
ON content_field_pref_position.nid = content_type_transfer.nid
SET content_type_transfer.pref_position
= content_field_pref_position.field_pref_position_value
答案 0 :(得分:0)
我认为你刚刚两次命名同一个表:
UPDATE
content_type_player
SET
content_type_player.pref_position = content_field_pref_position.field_pref_position_value
FROM
content_field_**player**
JOIN
content_field_pref_position ON content_type_player.nid = content_field_pref_position.nid
答案 1 :(得分:-1)
正如@heximal
所建议的那样UPDATE
content_type_player
SET
b.pref_position = a.field_pref_position_value
FROM
content_field_pref_position a
content_type_player b
WHERE
a.nid = b.nid
答案 2 :(得分:-1)
根据Nielsiano的建议
UPDATE content_type_player JOIN content_field_pref_position ON content_field_pref_position.nid = content_type_player.nid SET content_type_player.pref_position = content_field_pref_position.field_pref_position_value