我想在更新之前锁定行,我有以下代码:
select * from package where package.id = ? for update;
update
package
set
package.txt = ?,
where
package.id = ?
这样做会收到错误消息。而且找不到正确的方法。如果我的SQL没有select * from package where package.id = ? for update;
,它可以完美地工作。
由于您锁定的是正在更新的同一个表,因此不需要锁行,因为更新查询会自动锁行:
MyISAM:锁表
InnoDB:锁行