mysql表增加字段可重复执行

-- ----------------------------
-- Procedure structure for add_table_columns
-- ----------------------------
DROP PROCEDURE IF EXISTS `add_table_columns`;
DELIMITER ;;
CREATE  PROCEDURE `add_table_columns`(in tableName varchar(100),in columnName varchar(100),in columnDsec varchar(100))
BEGIN
DECLARE i int;

select COUNT(*)   
  INTO i  
  from information_schema.columns where table_name = tableName and COLUMN_NAME = columnName    ;  
IF i < 1 THEN  
set @SqlCmd = ' ALTER TABLE ';
set @SqlCmd = concat(@SqlCmd, tableName);
set @SqlCmd = concat(@SqlCmd, ' ADD COLUMN ');
set @SqlCmd = concat(@SqlCmd, columnName);
set @SqlCmd = concat(@SqlCmd, " varchar(100) NULL COMMENT '");
set @SqlCmd = concat(@SqlCmd, columnDsec);
set @SqlCmd = concat(@SqlCmd, "' ");
PREPARE stmt FROM @SqlCmd;
EXECUTE stmt;
END IF;
  
END
;;
DELIMITER ;

call add_table_columns('ub_broker','settle_account','结算账户');
call add_table_columns('broker_commission_detail','settle_account','结算账户');
call add_table_columns('broker_commission_detail_history','settle_account','结算账户');

你可能感兴趣的:(mysql表增加字段可重复执行)