当前位置: 首页 > news >正文

解决一个mysql的更新属性长度问题

需求背景:

       线上有一个 platform属性,原有长度为 varchar(10),但是突然需要填入一个11位长度的值;而偏偏这个属性在线上100张表中有50张都存在,并且名字各式各样,庆幸都包含 platform;例如 platform_, a_platform等;

      如何快速解决?

1.首先查出哪些表和列存在platform

select table_name,column_name,column_type from INFORMATION_SCHEMA.Columns 
where TABLE_SCHEMA = 'db_name' and column_name like '%platform%';

2.在Notepad++中(其他文本编辑器也行),分别粘贴出table_name,  column_name 列;

3.长按Alt键,进行列选中,写入如下语句,

ALTER TABLE table_name    MODIFY  column_name  VARCHAR(255);
...
ALTER TABLE table_name    MODIFY  column_name  VARCHAR(255);

注:长度255,不用不会浪费空间,用多少,占多少空间;

4.进入数据库执行即可;这里需要注意,如果线上数据量很大,则执行时间很长;我执行的结果仅做参考:21万数据量的表 25秒执行完毕,50张表就可想而知了;

最后总结

如果线上存在几百万数据的表,建议说服需求方,把11位长度的值修改为10以内更为合理!

http://www.lryc.cn/news/284279.html

相关文章:

  • [网络安全]DHCP 部署与安全
  • 自建ES集群
  • git rev-parse v406 ‘v4.0.4‘^{} master什么意思?
  • AI 编程的机会和未来:从 Copilot 到 Code Agent
  • git push --set-upstream origin master时超时失败的解决方案
  • beego的模块篇 - config自定义文件配置
  • YOLOv5-第Y2周:训练自己的数据集
  • 解决fxml图标无法显示
  • React Store及store持久化的使用
  • Hive添加第三方Jar包方式总结
  • Linux用户与文件的关系和文件掩码(umask)的作用
  • JS -- 正则表达式教程
  • 详细介绍IP 地址、网络号和主机号、ABC三类、ip地址可分配问题、子网掩码、子网划分
  • 滚动菜单+图片ListView
  • 【4k】4k的webrtc播放示例
  • PMIC 基础知识浅析(四)
  • gin+gorm增删改查目录框架
  • python进阶(二)导入import 机制 | 导入import 用法 工作原理全解析
  • 极客时间-《罗剑锋的 C++ 实战笔记》文章笔记 + 个人思考
  • Pytorch 对比TensorFlow 学习:Day 17-18: 循环神经网络(RNN)和LSTM
  • Java基础 - 07 Set之Set,AbstractSet
  • C++17新特性(三)新的标准库组件
  • Spring Boot入门
  • 【LeetCode】数学精选4题
  • 【漏洞复现】Hikvision SPON IP网络对讲广播系统命令执行漏洞(CVE-2023-6895)
  • IDEA在重启springboot项目时没有自动重新build
  • 华为设备NAT的配置
  • 48-DOM节点,innerHTML,innerText,outerHTML,outerText,静态获取,单机click,cssText
  • 多输入多输出 | Matlab实现基于LightGBM多输入多输出预测
  • 【欢迎您的到来】这里是开源库get_local_info作者的付费专栏