我有一个视频表。
我想在同一时间在表中选择一行,我想更新同一行中的视图(+1)列。
在一个查询中有什么可能吗?
答案 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结果将更新