Mysql 能实现字段间的相互“绑定”吗?

2020-03-26 11:54:23 +08:00
 yzqtdu

大家好,新人一枚,有个问题想请教下。在我实现某个功能时发现数据库有两个字段(比如 account_name, account_type )相互关联,业务逻辑是这样的:手机验证码登录,用户名自动为手机号,type 是 1 ;注册登录,用户名是输入名,type 是 2 。现在修改手机号用户名的时候要一起修改 type,但是有的地方可能会漏掉,搞乱数据库。我的问题如下:一:能否在 mysql 层面设置实现这两个字段(同表和跨表)的“绑定”,或者用 orm 控制必须两个字段一起修改;二:这种业务的数据库有更好的设计方式吗?

1185 次点击
所在节点    问与答
5 条回复
loading
2020-03-26 12:28:15 +08:00
触发器
事务
loading
2020-03-26 12:29:26 +08:00
代码里面把修改手机号的做成一个接口,所有地方都调用这个接口,
yzqtdu
2020-03-26 14:26:42 +08:00
@loading 感谢回复
majiaxin110
2020-03-26 14:29:40 +08:00
一般建议还是在事务中做,触发器或者内建方法一般难以维护或拖慢数据库性能
fancy111
2020-03-26 14:33:48 +08:00
同表怎么可能漏,更新肯定锁行的。 跨表用事务吧。

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

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

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

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

© 2021 V2EX