mysql存储过程遇到ERROR 1060 (42S21):Duplicate column问题及解决方案
更新时间:2025年04月25日 10:21:27 作者:_小鱼塘
这篇文章主要介绍了mysql存储过程遇到ERROR 1060 (42S21):Duplicate column问题及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
问题描述
实际的日常开发工作中,经常需要对现有表的结构作出变更,涉及到sql相关的操作,基本都通过初始化脚本来完成,如果初始化脚本运行失败或者遇到其他问题,可能导致sql部分执行,不分失败的问题,从而造成这个ERROR 1060 (42S21): Duplicate column的问题

问题的解决
方法一:在初始化脚本中添加判断,对于ERROR 1060 (42S21): Duplicate column可以容忍的错误直接跳过继续执行
方法二:通过存储过程来实现:
- 相关sql如下:
drop procedure if exists add_col_b;
delimiter ';;';
create procedure add_col_b() begin
if not exists( select * from information_schema.`COLUMNS` where TABLE_NAME='t2' and COLUMN_NAME='b') then
set names utf8;
alter table t2 add b int DEFAULT 0 COMMENT '';
end if;
end;;
delimiter ';';
call add_col_b();
drop procedure if exists add_col_b;- 具体操作效果:

总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
mysql8.0使用PXC实现高可用的示例(Rocky8.0环境)
本文主要介绍了在Rocky8.0环境下搭建MySQL8.0的Percona XtraDB Cluster(PXC)集群,,可以实现数据实时同步、读写分离和高可用性,具有一定的参考价值,感兴趣的可以了解一下2025-02-02
MySQL错误提示:sql_mode=only_full_group_by完美解决方案
有时候遇到数据库重复数据,需要将数据进行分组,并取出其中一条来展示,这时就需要用到group by语句,下面这篇文章主要给大家介绍了关于MySQL错误提示:sql_mode=only_full_group_by的完美解决方案,需要的朋友可以参考下2022-10-10
Mysql数据库报错2003 Can't connect to MySQL server on
最近在用mysql,打开mysql的图形化界面要连接时出现2003错误,所以下面这篇文章主要给大家介绍了关于Mysql数据库报错2003 Can't connect to MySQL server on 'localhost' (10061)的解决方式,需要的朋友可以参考下2022-09-09


最新评论