我正在为 Silverlight 应用程序创建一个 WCF Web 服务,并且我需要有一条记录在修改时被读/写锁定。
我正在使用 MySQL 5.5.11 版。
更具体地说,我想防止请求在修改时从 Row 读取数据。
UPDATE 和 SELECT 的两个 SQL 命令实际上非常简单,例如:
更新(应该锁定写/读):
UPDATE user SET user = ..... WHERE id = .....
选择(从上面的查询锁定时应该无法读取):
SELECT * FROM user WHERE id = .....
这是我尝试过的,但它似乎根本不起作用或锁定任何东西:
START TRANSACTION;
SELECT user
FROM user
WHERE id = 'the user id'
FOR UPDATE;
UPDATE user
SET user = 'the user data'
WHERE id = 'the user id';
COMMIT;