mysql存儲過程遇到ERROR 1060 (42S21):Duplicate column問題及解決方案
問題描述
實際的日常開發(fā)工作中,經(jīng)常需要對現(xiàn)有表的結(jié)構(gòu)作出變更,涉及到sql相關的操作,基本都通過初始化腳本來完成,如果初始化腳本運行失敗或者遇到其他問題,可能導致sql部分執(zhí)行,不分失敗的問題,從而造成這個ERROR 1060 (42S21): Duplicate column的問題
問題的解決
方法一:在初始化腳本中添加判斷,對于ERROR 1060 (42S21): Duplicate column可以容忍的錯誤直接跳過繼續(xù)執(zhí)行
方法二:通過存儲過程來實現(xiàn):
- 相關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;
- 具體操作效果:
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
mysql8.0使用PXC實現(xiàn)高可用的示例(Rocky8.0環(huán)境)
本文主要介紹了在Rocky8.0環(huán)境下搭建MySQL8.0的Percona XtraDB Cluster(PXC)集群,,可以實現(xiàn)數(shù)據(jù)實時同步、讀寫分離和高可用性,具有一定的參考價值,感興趣的可以了解一下2025-02-02Linux利用UDF庫實現(xiàn)Mysql提權(quán)
根據(jù)MySQL函數(shù)族的可擴展機制,意味著用戶可以自己建立包含有自定義函數(shù)的動態(tài)庫來創(chuàng)建自定義函數(shù),簡稱udf2014-07-07MySQL錯誤提示:sql_mode=only_full_group_by完美解決方案
有時候遇到數(shù)據(jù)庫重復數(shù)據(jù),需要將數(shù)據(jù)進行分組,并取出其中一條來展示,這時就需要用到group by語句,下面這篇文章主要給大家介紹了關于MySQL錯誤提示:sql_mode=only_full_group_by的完美解決方案,需要的朋友可以參考下2022-10-10MySQL算術(shù)/比較/邏輯/位/運算符與正則舉例詳解
每種數(shù)據(jù)庫都支持SQL語句,但是它們也都有各自支持的運算符,下面這篇文章主要給大家介紹了關于MySQL算術(shù)/比較/邏輯/位/運算符與正則的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下2023-02-02MySQL8.0移除傳統(tǒng)的.frm文件原因及解讀
MySQL 8.0移除傳統(tǒng)的.frm文件,采用基于InnoDB的事務型數(shù)據(jù)字典,主要解決了元數(shù)據(jù)不一致、性能優(yōu)化、架構(gòu)簡化、增強功能支持、兼容性與升級問題,這一變革提高了數(shù)據(jù)庫的可靠性和性能,為未來的高級功能奠定了基礎2025-03-03Mysql數(shù)據(jù)庫報錯2003?Can't?connect?to?MySQL?server?on?
最近在用mysql,打開mysql的圖形化界面要連接時出現(xiàn)2003錯誤,所以下面這篇文章主要給大家介紹了關于Mysql數(shù)據(jù)庫報錯2003?Can't?connect?to?MySQL?server?on?'localhost'?(10061)的解決方式,需要的朋友可以參考下2022-09-09