选择行时如何更新列?

时间:2011-07-09 05:03:03

标签: php mysql sql

我有一个视频表。

我想在同一时间在表中选择一行,我想更新同一行中的视图(+1)列。

在一个查询中有什么可能吗?

4 个答案:

答案 0 :(得分:2)

不,你必须通过两个查询来做到这一点。

答案 1 :(得分:0)

查询单身如何? SELECT * FROM test_table WHERE id = 1;更新test_table set test_col = test_col + 1其中id = 1;

答案 2 :(得分:0)

PostgreSQL支持UPDATE ... RETURNING,它会做你想要的,但我不相信MySQL可以做到这一点。您需要进行两次查询。

答案 3 :(得分: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结果将更新