我有一个名为 Domain_Test
的表,列是:-
- 身份证
- 域名
- 已处理
这里 ID
是 auto increment
并且 Domain
包含链接,processed
包含 0。基本上我需要一个查询通过它我可以检索 domain
并且同时需要将 processed
列更新为 1。我正在使用 java 来完成这一切。
最佳答案
据我所知这是不可能的。我假设您想在单个语句中执行此操作的原因是确保记录不会在您的两个语句之间更新。
你需要做的就是使用一个事务。在事务内部,首先进行更新,然后进行选择。然后你提交事务。事务的原子性保证了你读到的doman的值和你设置processed flag时的值是一样的。
START TRANSACTION;
UPDATE Domain_Test SET processed=1 WHERE id=YourId
SELECT Doman FROM Domain_Test WHERE id=YourId
COMMIT;
有关 mysql 中事务的更多信息,请参阅 http://dev.mysql.com/doc/refman/5.0/en/commit.html .
关于java - 如何在MySQL中同时插入和检索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25439565/