Completely fix tradeCattle folder
This commit is contained in:
80
tradeCattle/add_id_card_field_safe.sql
Normal file
80
tradeCattle/add_id_card_field_safe.sql
Normal file
@@ -0,0 +1,80 @@
|
||||
-- =============================================
|
||||
-- 数据库迁移脚本:为 member_driver 表添加 id_card 字段
|
||||
-- 用途:存储司机身份证前后面照片地址
|
||||
-- 创建时间:2025-10-20
|
||||
-- 数据库:MySQL
|
||||
-- 版本:安全版本(包含错误处理)
|
||||
-- =============================================
|
||||
|
||||
-- 开始事务
|
||||
START TRANSACTION;
|
||||
|
||||
-- 检查表是否存在
|
||||
SET @table_exists = (
|
||||
SELECT COUNT(*)
|
||||
FROM INFORMATION_SCHEMA.TABLES
|
||||
WHERE TABLE_SCHEMA = DATABASE()
|
||||
AND TABLE_NAME = 'member_driver'
|
||||
);
|
||||
|
||||
-- 如果表不存在,回滚并退出
|
||||
IF @table_exists = 0 THEN
|
||||
ROLLBACK;
|
||||
SELECT 'ERROR: member_driver 表不存在' AS result;
|
||||
LEAVE;
|
||||
END IF;
|
||||
|
||||
-- 检查字段是否已存在
|
||||
SET @column_exists = (
|
||||
SELECT COUNT(*)
|
||||
FROM INFORMATION_SCHEMA.COLUMNS
|
||||
WHERE TABLE_SCHEMA = DATABASE()
|
||||
AND TABLE_NAME = 'member_driver'
|
||||
AND COLUMN_NAME = 'id_card'
|
||||
);
|
||||
|
||||
-- 如果字段已存在,回滚并退出
|
||||
IF @column_exists > 0 THEN
|
||||
ROLLBACK;
|
||||
SELECT 'WARNING: id_card 字段已存在,无需添加' AS result;
|
||||
LEAVE;
|
||||
END IF;
|
||||
|
||||
-- 添加 id_card 字段
|
||||
ALTER TABLE member_driver
|
||||
ADD COLUMN id_card TEXT COMMENT '身份证前后面照片地址(多个URL用逗号分隔)'
|
||||
AFTER car_img;
|
||||
|
||||
-- 验证字段是否添加成功
|
||||
SET @verify_result = (
|
||||
SELECT COUNT(*)
|
||||
FROM INFORMATION_SCHEMA.COLUMNS
|
||||
WHERE TABLE_SCHEMA = DATABASE()
|
||||
AND TABLE_NAME = 'member_driver'
|
||||
AND COLUMN_NAME = 'id_card'
|
||||
);
|
||||
|
||||
-- 如果验证失败,回滚
|
||||
IF @verify_result = 0 THEN
|
||||
ROLLBACK;
|
||||
SELECT 'ERROR: id_card 字段添加失败' AS result;
|
||||
LEAVE;
|
||||
END IF;
|
||||
|
||||
-- 提交事务
|
||||
COMMIT;
|
||||
|
||||
-- 显示成功信息
|
||||
SELECT 'SUCCESS: id_card 字段添加成功' AS result;
|
||||
|
||||
-- 显示字段信息
|
||||
SELECT
|
||||
COLUMN_NAME as '字段名',
|
||||
DATA_TYPE as '数据类型',
|
||||
IS_NULLABLE as '允许空值',
|
||||
COLUMN_DEFAULT as '默认值',
|
||||
COLUMN_COMMENT as '注释'
|
||||
FROM INFORMATION_SCHEMA.COLUMNS
|
||||
WHERE TABLE_SCHEMA = DATABASE()
|
||||
AND TABLE_NAME = 'member_driver'
|
||||
AND COLUMN_NAME = 'id_card';
|
||||
Reference in New Issue
Block a user