| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100 |
- -- 修复学院字段拼写问题
- -- 版本: 1.0.0
- -- 创建日期: 2025-07-13
- -- 描述: 检查并修复学院字段的拼写问题(college vs collage)
- -- 第一步:检查字段情况
- SELECT
- COUNT(*) as college_name_count,
- (SELECT COUNT(*) FROM INFORMATION_SCHEMA.COLUMNS
- WHERE TABLE_NAME = 'zsjy_enrollment_info'
- AND COLUMN_NAME = 'collage_name'
- AND TABLE_SCHEMA = DATABASE()) as collage_name_count,
- (SELECT COUNT(*) FROM INFORMATION_SCHEMA.COLUMNS
- WHERE TABLE_NAME = 'zsjy_enrollment_info'
- AND COLUMN_NAME = 'college_id'
- AND TABLE_SCHEMA = DATABASE()) as college_id_count,
- (SELECT COUNT(*) FROM INFORMATION_SCHEMA.COLUMNS
- WHERE TABLE_NAME = 'zsjy_enrollment_info'
- AND COLUMN_NAME = 'collage_id'
- AND TABLE_SCHEMA = DATABASE()) as collage_id_count
- FROM INFORMATION_SCHEMA.COLUMNS
- WHERE TABLE_NAME = 'zsjy_enrollment_info'
- AND COLUMN_NAME = 'college_name'
- AND TABLE_SCHEMA = DATABASE();
- -- 第二步:如果存在collage_name而不存在college_name,则重命名字段
- SET @rename_collage_name_sql = (
- SELECT IF(
- EXISTS(SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS
- WHERE TABLE_NAME = 'zsjy_enrollment_info'
- AND COLUMN_NAME = 'collage_name'
- AND TABLE_SCHEMA = DATABASE())
- AND
- NOT EXISTS(SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS
- WHERE TABLE_NAME = 'zsjy_enrollment_info'
- AND COLUMN_NAME = 'college_name'
- AND TABLE_SCHEMA = DATABASE()),
- 'ALTER TABLE zsjy_enrollment_info CHANGE COLUMN collage_name college_name varchar(100) COMMENT \'学院名称\'',
- 'SELECT \'无需修改collage_name字段\' AS message'
- )
- );
- PREPARE stmt FROM @rename_collage_name_sql;
- EXECUTE stmt;
- DEALLOCATE PREPARE stmt;
- -- 第三步:如果存在collage_id而不存在college_id,则重命名字段
- SET @rename_collage_id_sql = (
- SELECT IF(
- EXISTS(SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS
- WHERE TABLE_NAME = 'zsjy_enrollment_info'
- AND COLUMN_NAME = 'collage_id'
- AND TABLE_SCHEMA = DATABASE())
- AND
- NOT EXISTS(SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS
- WHERE TABLE_NAME = 'zsjy_enrollment_info'
- AND COLUMN_NAME = 'college_id'
- AND TABLE_SCHEMA = DATABASE()),
- 'ALTER TABLE zsjy_enrollment_info CHANGE COLUMN collage_id college_id varchar(20) COMMENT \'学院代码\'',
- 'SELECT \'无需修改collage_id字段\' AS message'
- )
- );
- PREPARE stmt FROM @rename_collage_id_sql;
- EXECUTE stmt;
- DEALLOCATE PREPARE stmt;
- -- 第四步:如果不存在college_name,则添加该字段
- SET @add_college_name_sql = (
- SELECT IF(
- NOT EXISTS(SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS
- WHERE TABLE_NAME = 'zsjy_enrollment_info'
- AND COLUMN_NAME = 'college_name'
- AND TABLE_SCHEMA = DATABASE()),
- 'ALTER TABLE zsjy_enrollment_info ADD COLUMN college_name varchar(100) COMMENT \'学院名称\'',
- 'SELECT \'college_name字段已存在\' AS message'
- )
- );
- PREPARE stmt FROM @add_college_name_sql;
- EXECUTE stmt;
- DEALLOCATE PREPARE stmt;
- -- 第五步:如果不存在college_id,则添加该字段
- SET @add_college_id_sql = (
- SELECT IF(
- NOT EXISTS(SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS
- WHERE TABLE_NAME = 'zsjy_enrollment_info'
- AND COLUMN_NAME = 'college_id'
- AND TABLE_SCHEMA = DATABASE()),
- 'ALTER TABLE zsjy_enrollment_info ADD COLUMN college_id varchar(20) COMMENT \'学院代码\'',
- 'SELECT \'college_id字段已存在\' AS message'
- )
- );
- PREPARE stmt FROM @add_college_id_sql;
- EXECUTE stmt;
- DEALLOCATE PREPARE stmt;
- SELECT '学院字段拼写修复完成!' AS result;
|