程序上面,一般不使用 悲观锁 的。
大多数情况下,是用乐观锁。
每个表后面,增加一个 最后更新人 varchar 与 最后更新时间 datetime 这2个字段。

每次检索的时候,先把表的信息检索进来, 包含 最后更新人 varchar 与 最后更新时间 datetime 这2个字段。

当在 用户输入画面那里输入数据完毕以后, 要更新数据的时候。
UPDATE 表
SET 用户输入的字段 = 用户输入的信息
最后更新人 = 当前用户
最后更新时间 = 数据库时间
WHERE
主键的条件
AND 最后更新人 = 上一次检索时候的“最后更新人”
AND 最后更新时间 = 上一次检索时候的“最后更新时间”

然后根据执行结果返回的 “更新行数”, 来判断,本次执行成功了没有
如果 “更新行数” = 1 , 说明执行成功。
如果 “更新行数” = 0, 说明数据在此期间,已经被别人修改了。这个时候,提示用户,数据保存失败。