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

MYSQL 删除一个字段前,判断字段是否存在

开发过程中经常需要提交可以重复执行的sql,当设计到需要增加字段时,可以参考如下办法:

1.如果是mysql 版本高于5.7.5

ALTER TABLE table_name DROP COLUMN IF EXISTS column_name;

2.通用方法

   写一个存储过程,然后用存储过程取执行删除字段,然后在脚本执行完后,可以根据自己的实际情况选择删除掉存储过程

--切换到指定的数据 根据自己的情况
use your_dbname;-- 删除存储过程
DROP PROCEDURE IF EXISTS sp_delete_column_if_exists;-- 创建存储过程
DELIMITER $$CREATE PROCEDURE `sp_delete_column_if_exists`(IN `dbName` VARCHAR(255),IN `tableName` VARCHAR(255),IN `columnName` VARCHAR(255)
)
beginSET @stmt = NULL;SELECTCOUNT(*) INTO @stmtFROMinformation_schema.columnsWHEREtable_schema = dbNameAND table_name = tableNameAND column_name = columnName;SELECTCOUNT(*) FROMinformation_schema.columnsWHEREtable_schema = dbNameAND table_name = tableNameAND column_name = columnName;IF @stmt > 0 THENSET @drop_column = CONCAT('ALTER TABLE `', dbName, '`.`', tableName, '` DROP COLUMN `', columnName, '`;');PREPARE drop_column FROM @drop_column;EXECUTE drop_column;DEALLOCATE PREPARE drop_column;END IF;
END$$DELIMITER ;-- 调用存储过程
call sp_delete_column_if_exists('your_db', 'your_table' , 'your_column');

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

相关文章:

  • vulnstack-5
  • 回归预测|基于灰狼优化GWO-Transformer-BiLSTM组合模型的数据回归预测Matlab程序 多特征输入单输出
  • STM32的USB接口介绍
  • 【中等】 猿人学web第一届 第2题 js混淆 动态cookie 1
  • ubuntu 22.04 安装 docker(服务器从毛胚到精装)
  • Vue3从零开始——如何巧妙使用setup语法糖、computed函数和watch函数
  • 【C++】 特殊类设计:从构思到实现,引领设计新潮流
  • 性能调优 18. Tomcat整体架构及其设计精髓分析
  • 【C++高阶】:特殊类设计和四种类型转换
  • kafka基础概念二
  • 牛客-热身小游戏
  • Python 深度学习调试问题
  • linux恶意请求
  • Java 反射笔记总结(油管)
  • HTML表格、表单、标签、CSS、选择器
  • 【javaWeb技术】·外卖点餐小程序(脚手架学习1·数据库)
  • LVS 实现四层负载均衡项目实战--DR模式
  • Python与Qt的对应版本
  • WPF篇(12)-Image图像控件+GroupBox标题容器控件
  • LeetCode 热题 HOT 100 (024/100)【宇宙最简单版】
  • 如何在AWS上进行 环境迁移
  • 云服务器和物理服务器的优缺点对比
  • postgreSQL16添加审计功能
  • 如何应用OceanBase 的实时SQL诊断,解决AP场景下的痛点
  • 【数据结构】—— 栈
  • Kafka服务端日志详解
  • C++ 数据语义学——进程内存空间布局
  • 【数据结构】六、图:2.邻接矩阵、邻接表(有向图、无向图、带权图)
  • 财务会计与管理会计(三)
  • 【数据结构和算法】(基础篇三)——栈和队列