2011-07-09 39 views
2

我有一個視頻表。如何在選擇行時更新列?

我想在表中選擇一行同時我想更新同一行中的視圖(+1)列。

在這裏任何可能的單個查詢?

+0

你想在SQL查詢中做到這一點? –

+0

使存儲過程返回您的選擇集,但首先更新查看計數。 – cairnz

回答

2

不,你必須做兩個查詢。

0

查詢的單一性如何? SELECT * FROM test_table WHERE id = 1; update test_table set test_col = test_col + 1 where id = 1;

0

PostgreSQL支持UPDATE ... RETURNING,它會做你想做的,但我不相信MySQL能做到這一點。你需要做兩個查詢。

0

如果你想這樣做,在查詢時,您可以選擇創建觸發器像這樣:

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

我想特別選擇only.so我不能使用TRIGGER – w3father

+0

糟糕!我想你應該使用兩個查詢!沒有辦法做到這一點! –