データベースからデータベースへのデータ移行で、カラムを間違ってデータを入れてしまった。
テーブルには、companyとpersonがあるのだが・・・。
company:山田太郎
person:山田商事株式会社
…という具合に、間違えてしまった。大量のデータがあり、最初からやり直すことが出来ない状態・・・。
色々と調べてやってみたのが、下のSQLです。
単純に…
UPDATE tbl1 SET company = person, person = company;
…とやってみました。結果は…
company:山田商事株式会社
person:山田商事株式会社
なるほどねー。さらにやっちゃいました。。。
まあ、そりゃそーかという結果ではあります。
こういうときは、こうやるといいみたいです。
SET @swp = '';
UPDATE tbl1 SET company = CONCAT(LEFT((@swp := company),0) , person) ,person = @swp;
値が更新されるときに、一旦変数に蓄えて、その文字列を切り詰めた上で、交換する文字列を設定するということですかね。
0 件のコメント:
コメントを投稿