我目前的做法如下:
DECLARE cur CURSOR FOR SELECT table_name, COUNT(table_name) FROM INFORMATION_SCHEMA.TABLES WHERE table_schema = 'dbname';
OPEN cur;
read_loop: LOOP
FETCH cur INTO name, count;
IF done = count THEN
LEAVE read_loop;
ELSE
SET done = done + 1;
END IF;
IF SUBSTR(name, 1, 4) = 'old_' THEN
ALTER TABLE name RENAME TO UPPER(SUBSTR(name,5));
ELSE
ALTER TABLE name RENAME TO CONCAT('old_', name);
END IF;
END LOOP;
有任何建议如何解决这个问题?
我在本地计算机上运行MySQL 5.1.46。
答案 0 :(得分:-1)
默认情况下,MySQL对数据库方案不区分大小写。请参阅documentation。但您可以从my.cnf
启用区分大小写。
然而,InnoDB仅在Windows上使用小写存储表名。请参阅documentation。