如何在SQL中将MySQL表重命名为大写

时间:2011-05-13 08:46:13

标签: mysql rename

我目前的做法如下:

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。

1 个答案:

答案 0 :(得分:-1)

默认情况下,MySQL对数据库方案不区分大小写。请参阅documentation。但您可以从my.cnf启用区分大小写。

然而,InnoDB仅在Windows上使用小写存储表名。请参阅documentation