2011-07-09 8 views
2

私はビデオテーブルを持っています。同じ行に行を選択するときに列を更新するにはどうすればよいですか?

私はビュー(+1)を更新すると同時に、テーブル内の行を選択する列。

ここでは1つのクエリで何か可能ですか?

+0

あなたはSQLクエリでこれをしたいですか? –

+0

選択セットを返すストアドプロシージャを作成しますが、最初にビュー数を更新します。 – cairnz

答えて

2

いいえ、2つのクエリでそれを行う必要があります。

0

どのように単一のクエリですか? SELECT * FROM test_tableここでid = 1;更新test_table set test_col = test_col + 1ここでid = 1;

0

PostgreSQLは、あなたがやりたいだろうUPDATE ... RETURNINGを、サポートしていますが、私は、MySQLがこれを行うことができます信じていません。 2つのクエリを実行する必要があります。

0

クエリでこれを実行したい場合は、あなたがこのようにSELECTにトリガを作成することができます

CREATE TRIGGER [TRIGGER NAME] AFTER SELECT ON [TABLE NAME] 
    FOR EACH ROW BEGIN 
    UPDATE [TABLE NAME] SET [ FIELD ] = [ FIELD ] + 1 WHERE ...... ; 
END; 

あなたのテーブルから選択するたびに、あなたのwhere句の結果フィールドで一致したforeachの結果が更新されます

+0

私は特定の時間だけを選択したいです。私はトリガーを使用できません – w3father

+0

おっと!私はあなたが2つのクエリを使うべきだと思います! –

関連する問題