Mysql——查询语句备份

    echo "++++++ modify log_uid start ++++++"

    mysql -h$targetIp -uroot codex_log_operation -Bse "show tables;" \

    | xargs -I "{}" mysql -h$targetIp -uroot codex_log_operation -e \

    "alter table {} modify log_uid varchar(128) NOT NULL; \

     alter table {} modify account_id bigint(64); \

     select concat(server_id, '_', log_uid) from {} limit 0;\

     update {} set  log_uid = concat(server_id, '_', log_uid) where length(0+log_uid)=length(log_uid);"

    echo "++++++ modify log_uid end ++++++"

 

 

 

 

select "重置id...";

drop procedure if exists `resetId`;

delimiter $$

create procedure  resetId(In targetTabName varchar(200))

begin

select targetTabName, @baseId;

 

set @sqlStr=CONCAT('delete from  ', targetTabName,  ' where roleId not in (select id from role)');

        PREPARE stmt from @sqlStr;

        EXECUTE stmt;

        DEALLOCATE PREPARE stmt;

 

set @sqlStr=CONCAT('update ', targetTabName, ' set id= id%(1<<42) +', @baseId, ', roleId= roleId%(1<<42) +', @baseId);

PREPARE stmt from @sqlStr;

EXECUTE stmt;

DEALLOCATE PREPARE stmt;

 

commit;

end$$

delimiter ;

 

SET @baseId=0;

select id, (id>>47)%(1<<11)%100, (id>>47)%(1<<11), id%(1<<42), @baseId:=(id-id%(1<<42)) from server limit 1;

select @baseId;

 

call resetId('activity_cat_usersave');

 

 

 

posted @   会飞的斧头  阅读(245)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示