更新语句后跟选择MySQL

时间:2012-10-25 14:02:55

标签: mysql

如果应用程序版本匹配,我将从缓存服务器存储缓存信息,否则我需要将缓存详细信息设置为NULL。

目前我正在这样做

UPDATE 
  cache_table 
SET
  _data = NULL 
WHERE _id = id AND _app_version != "current_version" 

然后选择查询

SELECT 
      _data 
    FROM
      cache_table 
    WHERE _id = id AND _app_version == "current_version" 

我是否有办法在不触发两个查询的情况下在一个查询中进行更新和选择?

注意:我不想使用MySQL程序。没有具体原因但不想在DB中存储应用程序逻辑,因此我可以轻松更改数据库应用程序。

2 个答案:

答案 0 :(得分:1)

通常UPDATESELECT是两个截然不同的操作。组合它们的唯一方法是在识别时使用存储过程。

答案 1 :(得分:0)

我不相信MySQL有一种内置的方法来做到这一点。但是,只有FYI这可以使用OUTPUT子句在SQL Server中完成:

http://msdn.microsoft.com/en-us/library/ms177564.aspx