[英]Update mysql in select statement
我的问题很容易解释:在纯ftp的配置文件中,只有一个INSERT-Statement允许读取密码。 就像这样:
SELECT password FROM ftpuser WHERE userid = "\L"
“ \\ L”是用户标识的占位符。 它工作正常,但是我需要计算对ftp服务器的访问量。 该表中有一个称为“已访问”的字段。 因此,我也需要运行以下SQL:
UPDATE ftpuser SET accessed = accessed + 1 WHERE userid = "\L"
有什么办法可以将这两个语句合而为一,结果是“ password”? 还是有另一种方法可以触发来自纯FTP的访问? 非常感谢你!
塞巴斯蒂安
如果是保留原子性的问题,那么如果您的表是使用事务引擎(例如InnoDB)存储的,则可以将整个内容包装在具有锁定读取的事务中:
START TRANSACTION;
SELECT password FROM ftpuser WHERE userid = '\L' FOR UPDATE;
UPDATE ftpuser SET accessed = accessed + 1 WHERE userid = '\L';
COMMIT;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.