yzqtdu
V2EX  ›  问与答

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

  •  
  •   yzqtdu · Mar 26, 2020 · 1651 views
    This topic created in 2328 days ago, the information mentioned may be changed or developed.

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

    5 replies    2020-03-26 14:33:48 +08:00
    loading
        1
    loading  
       Mar 26, 2020 via Android
    触发器
    事务
    loading
        2
    loading  
       Mar 26, 2020 via Android
    代码里面把修改手机号的做成一个接口,所有地方都调用这个接口,
    yzqtdu
        3
    yzqtdu  
    OP
       Mar 26, 2020
    @loading 感谢回复
    majiaxin110
        4
    majiaxin110  
       Mar 26, 2020
    一般建议还是在事务中做,触发器或者内建方法一般难以维护或拖慢数据库性能
    fancy111
        5
    fancy111  
       Mar 26, 2020
    同表怎么可能漏,更新肯定锁行的。 跨表用事务吧。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   903 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 20:17 · PVG 04:17 · LAX 13:17 · JFK 16:17
    ♥ Do have faith in what you're doing.