【发布时间】:2015-08-15 06:04:04
【问题描述】:
响应列中的数据是 = blahblahblahTYPE=ERRORblahblah。然后我运行下面的查询以仅针对“错误”字符串。
SELECT substr(Response, instr(Response, 'ERROR'), 5)
FROM table
WHERE id = 721451
AND Status = 'false'
AND Response LIKE '%<status>Unknown</status>%'
AND date >= curdate();
上面的查询返回:ERROR。
我基本上想在不编辑其余数据的情况下将ERROR 更新为SUCCESS。
下面的查询会起作用吗?有没有更好的方法来做到这一点?
UPDATE table
SET Response = 'SUCCESS'
WHERE (
SELECT substr(Response, instr(Response, 'ERROR'), 5)
FROM table
WHERE id = 721451
AND Status = 'false'
AND Response LIKE '%<status>Unknown</status>%'
AND date >= curdate()
);
提前感谢您的帮助!
【问题讨论】:
-
@ReggieB 感谢您格式化我的问题!这是我发布的第一个问题,对此我还是有点陌生...
-
那个suqbery="ERROR"
-
@darshan-patel 也值得称赞。
标签: mysql sql-update subquery substr sql-subselect