dポイントプレゼントキャンペーン実施中!

SQLだけでselect結果に定数を加算して別TBLに保存可能?
似たようなケースを見つけられず、質問させていただきます。

MYSQL5+PHP5の環境です。

「A_TBL」から特定条件でselectした結果を、「B_TBL」へ追加更新するSQLですが、「B_TBL」への追加時に一律、[gid]に「10」を加算して保存を行いたいのですが、sqlだけで可能でしょうか。
難しいようであれば、PHPで1行づつ処理を考えております。

REPLACE INTO B_TBL(gid,uid) SELECT gid,uid FROM A_TBL WHERE flg != 1;

A_TBL、B_TBLのgid、uid共にint項目です。

よろしくお願いします。

A 回答 (2件)

下記SQLは試してみましたか?


REPLACE INTO B_TBL(gid,uid) SELECT gid + 10,uid FROM A_TBL WHERE flg != 1;
    • good
    • 0
この回答へのお礼

即答ありがとうございます。

出来ました。質問前に同様のことをやりましたが、+10の前にスペースを入れたせいか、1064:syntax errorとなっておりました。
SQLだけで解決できて工数削減できました。
有難うございます。

お礼日時:2010/07/21 17:13

REPLACE INTO B_TBL(gid,uid) SELECT gid+10,uid FROM A_TBL WHERE flg != 1;



こんなん出来ませんでしたっけ?
一律。でいいんですよね。


MySQLユーザーじゃないのでそっちの仕様で出来ない。だとちっとアレですが。。。


MSのSQL(Postgresでしたっけ)ならできるんですけどねぇ。


こっちだと

insert into B_TBL(gid,uid)
select gid+10,uid from A_TBL
where flg <> 1

とかになるのかな。。。
    • good
    • 0
この回答へのお礼

すばやい即答、ありがとうございます。

出来ました。
SQLだけで解決できて工数削減できました。
有難うございます。

お礼日時:2010/07/21 17:15

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!