mysql 怎么对特定数据永久加写锁?

2021-07-07 15:43:08 +08:00
 ffw5b7

今日,产品给在下提了个需求。内容:项目完工后不允许再新增、修改、删除任何信息(包括:项目、参建、班组、工人、考勤、专户、工资单等) what happen? 为什么之前写接口的时间提出?

正常实现,是在项目、参建、班组、工人、考勤、专户、工资单这些模块新增、修改、删除接口增加做校验。 但是项目是我接手下来的,也懒改。

所有,对于新增,修改和删除,mysql 有没有一种永久'锁'的方式,触发'锁'自定义处理。有什么坏处吗? 或者说 像 java 有拦截器,mysql 执行 sql 的时候有没有'拦截器'??

各位大佬有啥解决办法吗?

359 次点击
所在节点    问与答
4 条回复
ffw5b7
2021-07-07 15:45:13 +08:00
我僵硬了,不一定要 mysql 层,在 Mybatis 中拦截也可以。 话说怎么删帖
ffw5b7
2021-07-07 17:39:32 +08:00
想了想还是不好干,没法定义新增、修改、删除任何信息(包括:项目、参建、班组、工人、考勤、专户、工资单等)操作的 sql 与项目 id 的关联。 比如删除就不需要关联项目 id 。 难受香菇
ffw5b7
2021-07-08 09:04:52 +08:00
代码还是不好实现,sql 中找到关键的信息, 比如插入,匹配找到项目 id 的值与完工的项目 id 的值比较,
删除根据主键查询数据库记录中项目 id 的值与之比较。


还是想想有没有这样一种'锁', 修改记录时,记录中项目 id 与 查询出来完工项目 id 的值匹配,匹配上不然修改。
ffw5b7
2021-07-08 11:03:49 +08:00
CCJSqlParserUtil 牛逼,果然是我自己菜

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/788102

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX