大家好,新人一枚,有个问题想请教下。在我实现某个功能时发现数据库有两个字段(比如 account_name, account_type )相互关联,业务逻辑是这样的:手机验证码登录,用户名自动为手机号,type 是 1 ;注册登录,用户名是输入名,type 是 2 。现在修改手机号用户名的时候要一起修改 type,但是有的地方可能会漏掉,搞乱数据库。我的问题如下:一:能否在 mysql 层面设置实现这两个字段(同表和跨表)的“绑定”,或者用 orm 控制必须两个字段一起修改;二:这种业务的数据库有更好的设计方式吗?
1
loading 2020-03-26 12:28:15 +08:00 via Android
触发器
事务 |
2
loading 2020-03-26 12:29:26 +08:00 via Android
代码里面把修改手机号的做成一个接口,所有地方都调用这个接口,
|
4
majiaxin110 2020-03-26 14:29:40 +08:00
一般建议还是在事务中做,触发器或者内建方法一般难以维护或拖慢数据库性能
|
5
fancy111 2020-03-26 14:33:48 +08:00
同表怎么可能漏,更新肯定锁行的。 跨表用事务吧。
|