我正在为我的网站实现一个收件箱,我在“已读”列中将所有已读消息标记为 1。 每当对其运行选择查询时,是否可以自动将行的读取值更改为 1。 我知道我可以通过每次执行选择时执行另一个查询来更改值来做到这一点。但代码位于几个不同的地方。我们可以简单地在 SQL 端完成吗?
我正在使用 MySQL。 谢谢
最佳答案
您可以创建TRIGGER
,遗憾的是没有ON SELECT
触发器,因此您无法自动执行此操作。恐怕你将不得不依赖服务器端。
解决方法是使用存储过程而不是直接SELECT
,并且每次执行UPDATE
语句。
CREATE PROCEDURE AUTOUPDATE(in InID INT)
BEGIN
SELECT * FROM [TABLE]
where [TABLE].ID = InID
UPDATE [TABLE] SET read = 1
where [TABLE].ID = InID
END
你像这样调用存储过程
调用 AUTOUPDATE(1324);
关于mysql - 在 SQL 中运行选择查询时更改属性值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24996517/