我的问题很容易解释:在我的纯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),则可以使用locking read将整个内容包装在事务中:
START TRANSACTION;
SELECT password FROM ftpuser WHERE userid = '\L' FOR UPDATE;
UPDATE ftpuser SET accessed = accessed + 1 WHERE userid = '\L';
COMMIT;