SQL、PHPについて質問です。


現在データベースが以下のようになっています。

★テーブル TEST

★項目 TEST1 、TEST2 、SAGAKU

★データ数が40位

TEST1とTEST2には数字が入っています。

TEST1 と TEST2 の差額の数字を SAGAKU の項目に入れたいのですが出来ません。

PHPで命令文を考えてみたのですが、

UPDATE SAGAKU SET TEST SAGAKU = TEST2 - TEST1  ←これを一番上のデータから順番に適用させる処理が必要だとは思うのですがイマイチ出来ません。

これを行の最後まで続けるにはどのようなPHP命令ができそうでしょうか?もしくはSQL命令だけで出来たりするものでしょうか?

お手数をおかけしますがわかるかたおりましたらよろしくお願いいたします。

回答の条件
  • 1人2回まで
  • 登録:2009/08/26 00:25:16
  • 終了:2009/08/26 01:16:05

ベストアンサー

id:Mook No.2

Mook回答回数1312ベストアンサー獲得回数3912009/08/26 01:07:20

ポイント35pt

PHP からでも、直接SQLでも可能ですが、SQL構文に誤りがありますね。

UPDATE テーブル名 SET 項目= 値|式

ですから、

UPDATE TEST SET SAGAKU = TEST2 - TEST1

となります。

id:aiomock

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

2009/08/26 01:15:53

その他の回答(2件)

id:rouge_2008 No.1

rouge_2008回答回数594ベストアンサー獲得回数3512009/08/26 01:00:48

ポイント35pt

テーブル名や変更するフィールド名の記述箇所が間違っているようです。

以下で実行可能だと思います。

UPDATE TEST SET SAGAKU = TEST2 - TEST1


http://dev.mysql.com/doc/refman/4.1/ja/update.html

id:aiomock

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

2009/08/26 01:15:49
id:Mook No.2

Mook回答回数1312ベストアンサー獲得回数3912009/08/26 01:07:20ここでベストアンサー

ポイント35pt

PHP からでも、直接SQLでも可能ですが、SQL構文に誤りがありますね。

UPDATE テーブル名 SET 項目= 値|式

ですから、

UPDATE TEST SET SAGAKU = TEST2 - TEST1

となります。

id:aiomock

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

2009/08/26 01:15:53
id:HALSPECIAL No.3

HALSPECIAL回答回数407ベストアンサー獲得回数862009/08/26 01:15:05

ポイント10pt
UPDATE TEST SET  SAGAKU = TEST2 - TEST1

です。

WHERE句を使用していないので、すべての行が対象になります。

なのでSQLだけで済みます。

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません