使用中文字符作为MySQL表名必须采取哪些预防措施?
提前致谢,
约翰
答案 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:每当非中国写作人员必须修改你的代码时,他就会恨你。