无法重命名mysql表

时间:2011-02-08 15:06:28

标签: mysql table-rename

我正在尝试使用此SQL重命名我的表。我在Windows XP上使用MySQL 5.1.41。

USE 'bobby_tables';

    ALTER TABLE gc_acompte_fournisseur
      RENAME TO GC_Acompte_Fournisseur;

并且查询声称已正确执行,但它确实存在!我的表名仍然是小写的!

我遇到什么样的犯规,禁止我把我的牌桌资本化?

2 个答案:

答案 0 :(得分:4)

它就是MySQL如何在Windows上运行:

http://dev.mysql.com/doc/refman/5.5/en/server-system-variables.html#sysvar_lower_case_table_names

  
      
  • 的lower_case_table_names
  •   
     

如果设置为0,则表名存储为   指定和比较是个案   敏感。如果设置为1,表名称   在磁盘上以小写形式存储   比较不区分大小写。如果   设置为2,表名存储为   给出但以小写比较。这个   选项也适用于数据库名称   和表别名。另外   信息,请参阅Section 8.2.2, “Identifier Case Sensitivity”

     

如果在系统上运行MySQL,则不应将此变量设置为0   具有不区分大小写的文件名   (例如Windows或Mac OS X)。如果   你在这样的一个上将这个变量设置为0   系统和访问MyISAM表名   使用不同的lettercase,index   腐败可能会导致。 在Windows上   默认值为1 。在Mac OS X上,   默认值为2。

     

如果您使用的是InnoDB表,则应将此变量设置为1   强制名称的平台   转换为小写

(强调我的)

答案 1 :(得分:1)

要在mysql中重命名/更改表名,请运行以下查询:

RENAME TABLE tbl_name TO new_tbl_name

实施例: RENAME TABLE studentpu_students

供参考:http://dev.mysql.com/doc/refman/5.0/en/rename-table.html

谢谢!