You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
24 lines
1.1 KiB
24 lines
1.1 KiB
SET GROUP_CONCAT_MAX_LEN = 1000000;
|
|
|
|
-- 检查 sys_dept
|
|
SELECT GROUP_CONCAT(
|
|
CONCAT('SELECT ''sys_dept'' AS table_name, ''', column_name, ''' AS column_name, ''', IFNULL(column_comment,''), ''' AS column_comment, ''ALTER TABLE `sys_dept` DROP COLUMN `', column_name, '`;'' AS drop_sql FROM dual WHERE (SELECT COUNT(`', column_name, '`) FROM `sys_dept`) = 0')
|
|
SEPARATOR ' UNION ALL '
|
|
) INTO @sql_dept
|
|
FROM information_schema.columns
|
|
WHERE table_schema = @schema_name AND table_name = 'sys_dept';
|
|
|
|
-- 检查 sys_user
|
|
SELECT GROUP_CONCAT(
|
|
CONCAT('SELECT ''sys_user'' AS table_name, ''', column_name, ''' AS column_name, ''', IFNULL(column_comment,''), ''' AS column_comment, ''ALTER TABLE `sys_user` DROP COLUMN `', column_name, '`;'' AS drop_sql FROM dual WHERE (SELECT COUNT(`', column_name, '`) FROM `sys_user`) = 0')
|
|
SEPARATOR ' UNION ALL '
|
|
) INTO @sql_user
|
|
FROM information_schema.columns
|
|
WHERE table_schema = @schema_name AND table_name = 'sys_user';
|
|
|
|
-- 合并执行
|
|
SET @final_sql = CONCAT(@sql_dept, ' UNION ALL ', @sql_user);
|
|
|
|
PREPARE stmt FROM @final_sql;
|
|
EXECUTE stmt;
|
|
DEALLOCATE PREPARE stmt;
|
|
|