| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- -- 将「非种子」的重复账号 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。
|