天有不测风云,有些事情无法预料,就像日本海啸,给人类带来的灾难,老天这哥们不给力我们没办法,我们只能提升自身的处理问题的能力。 今天mysql这哥们也不给力,在linux下表名大小写是区分的,结果前人没注意,大小写乱着来,这不,给我这用ubuntu的人带来了灾难。 Google了半天,有说在[mysqld]下加入一行:lower_case_table_names = 1的,但是我数据库中原有的表名大小写并不一致,之前的表名没办法处理。现在有点懒,我可不想一个一个去改,所以想着批量更新表名。 又Google了半天,找到了一段存储过程(以前没接触过),也看不太懂,试着自己YY,折腾了一会,终于弄好了,有点沾沾自喜,哈哈,想着可能也会有其他同仁会遇到这个问题,所以贴出来,如下 delimiter // DROP procedure IF EXISTS uppercase // CREATE procedure uppercase(IN dbname VARCHAR(200)) begin declare done INT DEFAULT 0; declare oldname VARCHAR(200); declare cur CURSOR FOR SELECT table_name FROM information_schema.TABLES WHERE table_schema = dbname; …
Continue reading →