MYSQL 修改字段编码

大王快跑丶 / 2023-08-23 / 原文

SELECT *,CONCAT(
      'ALTER TABLE ', tableName,
      ' MODIFY ', columnName, ' VARCHAR(', columnLength, ') CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci ',
      ' DEFAULT ', IFNULL(QUOTE(columnDefault), "''"),
      ' COMMENT ', IFNULL(QUOTE(columnComment), "''"), ';'
    ) FROM (
	SELECT table_name AS tableName, column_name AS columnName, character_maximum_length AS columnLength, column_default AS columnDefault, column_comment AS columnComment
	FROM information_schema.columns
	WHERE table_schema = 'db_performance_plus' 
		AND data_type = 'varchar'
		AND character_set_name = 'utf8'
)T;