用汉字命名MySQL表

时间:2009-12-14 14:56:04

标签: mysql

使用中文字符作为MySQL表名必须采取哪些预防措施?

提前致谢,

约翰

3 个答案:

答案 0 :(得分:2)

SQL支持分隔标识符,以允许表名或列名包含SQL关键字,空格,标点符号,其他特殊字符或国际字符。

在MySQL中,使用反引号(或设置ANSI_QUOTES SQL模式以使用标准双引号)。

示例:

mysql> create table `桌子` (id serial);
mysql> show create table `桌子`\G
--------------
show create table `桌子`
--------------

*************************** 1. row ***************************
       Table: 桌子
Create Table: CREATE TABLE `桌子` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  UNIQUE KEY `id` (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1
1 row in set (0.00 sec)

答案 1 :(得分:1)

尽管你可以在MySQL中安全地做到这一点,但无论是对还是错,现实情况是你在使用第三方工具时很难找到支持带有unicode字符的表名。这可能包括备份解决方案,开发语言和API等。虽然尝试全球思考很好,但在这种情况下,我可能会坚持使用“标准”表名。

答案 2 :(得分:0)

您只需确保使用backqoutes在任何地方正确转义表名。除此之外,使用任何字符应该是非常安全的。

PS:每当非中国写作人员必须修改你的代码时,他就会恨你。