0

如果应用程序版本匹配,我将从缓存服务器存储缓存信息,否则我需要将缓存详细信息设置为 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 程序。没有具体原因,但不想将应用程序逻辑存储在数据库中,因此我可以轻松更改数据库应用程序。

4

2 回答 2

1

通常UPDATESELECT是两个不同的操作。组合它们的唯一方法是使用您确定的存储过程。

于 2012-10-25T14:19:11.990 回答
0

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

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

于 2012-10-25T14:08:59.057 回答