| Google+1(プラスワン)ボタンを設置するブログトップ | DB関連 | さくらインターネットの謎仕様【mod_rewrite】
SQLだけでフィールド間のコピーを行う
この記事は1年以上前の記事のため、内容が古い可能性があります。
メモ。
たとえば以下のようなテーブルがあったとして
ID | title | body | save_name |
---|---|---|---|
1 | タイトル1 | 内容1 | |
2 | タイトル2 | 内容2 | |
3 | タイトル3 | 内容3 |
「title」フィールドの値を、「save_name」フィールドにまるまるコピーしたい!という場合は以下のようなSQLを実行しましょう。
UPDATE `entry` SET `save_name` = `title`;
■実行結果
ID | title | body | save_name |
---|---|---|---|
1 | タイトル1 | 内容1 | タイトル1 |
2 | タイトル2 | 内容2 | タイトル2 |
3 | タイトル3 | 内容3 | タイトル3 |
そのままコピーするのではなく、コピー元の値に文字列を追加して、新しいフィールドに格納したい場合は、以下のようになります。
例)「title」フィールドの値に「hoge_」という文字列を足して、「save_name」フィールドに格納する。
UPDATE `entry` SET `save_name` = concat("hoge_",`title`);
■実行結果
ID | title | body | save_name |
---|---|---|---|
1 | タイトル1 | 内容1 | hoge_タイトル1 |
2 | タイトル2 | 内容2 | hoge_タイトル2 |
3 | タイトル3 | 内容3 | hoge_タイトル3 |
この文字列の結合方法が分からず
`save_name` ="hoge_"+`title`
とか
`save_name` ="hoge_".`title`
とか訳わからんをしてしまいました^^;
ちゃんと勉強しなきゃね。
■参考にさせていただいたサイト
nandani | 2011年09月08日 | コメント(0) | トラックバック(0) | DB関連
トラックバック
トラックバックURL
コメントする
※メールアドレスが公開されることはありません。