DROP PROCEDURE IF EXISTS AddColumnsByIsNotExist;
delimiter //
CREATE PROCEDURE AddColumnsByIsNotExist (IN DBName VARCHAR(32), IN tableName VARCHAR(32),IN columnName VARCHAR(32),IN columnType VARCHAR(16),IN suffixVal VARCHAR(255))
BEGIN
DECLARE nRetRowCount int;
SELECT count(COLUMN_NAME) INTO nRetRowCount
FROM information_schema.columns
WHERE UPPER(TABLE_SCHEMA) = UPPER(DBName)
AND UPPER(TABLE_NAME) = UPPER(tableName)
AND UPPER(COLUMN_NAME) = UPPER(columnName);
IF nRetRowCount = 0 THEN
SET @prepareStatement = CONCAT("ALTER TABLE ", tableName, " ADD COLUMN ",columnName ," ", columnType,suffixVal);
PREPARE stmt FROM @prepareStatement;
EXECUTE stmt ;
DEALLOCATE PREPARE stmt;
END IF;
END//
call AddColumnsByIsNotExist('api84_weixin','ims_xiaoyu_map_place','extra','text','');