1

IDが同じである間に、データベース内のエントリを複製しようとしています。

各行には独自の ID があり、複製しようとしているエントリの個別の列があります。この列のデータを含むエントリを見つけて、同じ ID を持つ他の行に複製しようとしています。

例:

ID      COLUMNNAME
1       Test 1
1      
2       
2       Test 2
3
3

この場合、テスト 1 は下の行に複製され、テスト 2 は上の行に複製され、ID 3 は空白のままになります。

私は持っている:

SELECT `columnname`, `id`
FROM `table`
WHERE `columnname` <> ''
    AND `id` = `id`

データを含むエントリを見つけるために書かれていますが、私はまだMySQLに非常に慣れていないため、ここからどこに行くべきかわかりません.

4

2 に答える 2

3

UPDATE複数テーブル構文を使用して自己結合を作成できます。

UPDATE my_table t1 JOIN my_table t2 ON t2.ID = t1.ID AND t2.columnname <> ''
SET    t1.columnname = t2.columnname

sqlfiddleで参照してください。

于 2013-07-23T15:44:23.613 に答える