33 lines
1.2 KiB
MySQL
33 lines
1.2 KiB
MySQL
|
|
-- ============================================
|
|||
|
|
-- 删除sys_user表中的phonenumber字段
|
|||
|
|
-- 注意:删除字段是危险操作,请先备份数据!
|
|||
|
|
-- ============================================
|
|||
|
|
|
|||
|
|
-- 方法1:直接执行(推荐,MySQL 5.7+支持)
|
|||
|
|
-- 如果字段存在,直接删除
|
|||
|
|
ALTER TABLE `sys_user` DROP COLUMN `phonenumber`;
|
|||
|
|
|
|||
|
|
-- 如果上面的语句不支持,使用下面的方法:
|
|||
|
|
-- 方法2:先检查再删除(兼容性更好)
|
|||
|
|
-- SET @exist := (SELECT COUNT(*) FROM information_schema.COLUMNS
|
|||
|
|
-- WHERE TABLE_SCHEMA = DATABASE()
|
|||
|
|
-- AND TABLE_NAME = 'sys_user'
|
|||
|
|
-- AND COLUMN_NAME = 'phonenumber');
|
|||
|
|
--
|
|||
|
|
-- SET @sqlstmt := IF(@exist > 0,
|
|||
|
|
-- 'ALTER TABLE `sys_user` DROP COLUMN `phonenumber`',
|
|||
|
|
-- 'SELECT ''phonenumber字段不存在'' as result');
|
|||
|
|
--
|
|||
|
|
-- PREPARE stmt FROM @sqlstmt;
|
|||
|
|
-- EXECUTE stmt;
|
|||
|
|
-- DEALLOCATE PREPARE stmt;
|
|||
|
|
|
|||
|
|
-- 验证:查询sys_user表结构,确认phonenumber字段已删除
|
|||
|
|
-- 如果查询结果为空,说明字段已成功删除
|
|||
|
|
SELECT COLUMN_NAME, COLUMN_TYPE, COLUMN_COMMENT
|
|||
|
|
FROM information_schema.COLUMNS
|
|||
|
|
WHERE TABLE_SCHEMA = DATABASE()
|
|||
|
|
AND TABLE_NAME = 'sys_user'
|
|||
|
|
AND COLUMN_NAME = 'phonenumber';
|
|||
|
|
|