-- 将「非种子」的重复账号 Demo01 改名为 Demo02,保留官方种子用户 Id = 1300000000117 -- 执行前请:USE 你的库名; 并做好备份 -- -- 表名取决于 Database.json → DbSettings.EnableUnderLine: -- false:表 SysUser,列 Id / Account / RealName / UpdateTime(驼峰) -- true :表 sys_user,列 id / account / real_name / update_time(下划线) -- 下面默认写下划线版;若库为 SysUser,把 sys_user 改为 SysUser、列名改为驼峰即可。 -- ========== 1. 预览 ========== SELECT id, tenant_id, account, real_name, phone, remark, create_time FROM sys_user WHERE account IN ('Demo01', 'Demo02') ORDER BY account, id; -- ========== 2. 保留的种子 Demo01 Id(若与你库不一致请修改)========== SET @keep_demo01_id = 1300000000117; -- ========== 3. 目标账号 Demo02 必须尚不存在(框架全局账号唯一)========== SELECT id, account, real_name FROM sys_user WHERE account = 'Demo02'; -- 上面若有结果:请先换一个未占用账号,并把下面 UPDATE 里的 Demo02 改成新名字 -- ========== 4. 重命名:非种子的 Demo01 → Demo02 ========== START TRANSACTION; UPDATE sys_user SET account = 'Demo02', update_time = NOW(3) WHERE account = 'Demo01' AND id <> @keep_demo01_id; COMMIT; -- ========== 5. 校验 ========== SELECT id, tenant_id, account, real_name, phone FROM sys_user WHERE account IN ('Demo01', 'Demo02') ORDER BY account, id; -- 期望:一条 Demo01(id = @keep_demo01_id),一条 Demo02(原重复那条) -- ========== 附录:若仍要物理删除非种子 Demo01(慎用)========== -- 需先按 user_id 清理子表,见本文件历史版本或自行处理外键后再 DELETE。