线上数据库字段增删改的限制

新加的字段一定要允许为空

正常情况下,如果程序新加了字段,一般是先在数据库中加字段,然后再发程序的最新代码。
因为如果先发程序,然后在数据库中加字段。在该程序刚部署成功,但数据库新字段还没来得及加的这段时间内,最新程序中,所有使用了新加字段的增删改查sql都会报字段不存在的异常。
如果数据库中新加的字段非空,最新的程序还没发,线上跑的还是老代码,这时如果有insert操作,就会报字段不能为空的异常。 因为新加的非空字段,老代码是没法赋值的。
所以说新加的字段一定要允许为空。

不允许删除字段

删除字段是不允许的,特别是必填字段一定不能删除。
假设开发人员已经把程序改成不使用删除字段了,接下来如何部署呢?
如果先把程序部署好了,还没来得及删除数据库相关表字段。当有insert请求时,由于数据库中该字段是必填的,会报必填字段不能为空的异常。
如果先把数据库中相关表字段删了,程序还没来得及发。这时所有涉及该删除字段的增删改查,都会报字段不存在的异常。
所以,线上环境必填字段一定不能删除的。

根据实际情况修改字段

修改字段要分为这三种情况:

1.修改字段名称

修改字段名称也不允许,跟删除必填字段的问题差不多。
如果把程序部署好了,还没来得及修改数据库中表字段名称。这时所有涉及该字段的增删改查,都会报字段不存在的异常。
如果先把数据库中字段名称改了,程序还没来得及发。这时所有涉及该字段的增删改查,同样也会报字段不存在的异常。
所以,线上环境字段名称一定不要修改。

2.修改字段类型

修改字段类型时一定要兼容之前的数据。例如:
tinyint改成int可以,但int改成tinyint要仔细衡量一下。
varchar改成text可以,但text改成varchar要仔细衡量一下。

3.修改字段长度

字段长度建议改大,通常情况下,不建议改小。如果一定要改小,要先确认该字段可能会出现的最大长度,避免insert操作时出现字段太长的异常。
此外,建议改大也需要设置一个合理的长度,避免数据库资源浪费。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值