使用中文字符作为MySQL表名需要注意哪些预防措施?
先行致谢,
约翰
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)
您只需要确保在任何地方使用反引号正确转义表名即可。除此之外,使用任何字符应该是相当安全的。
附注:每当非中文写作人员需要修改您的代码时,他们会因此而讨厌您。
虽然你可能可以在MySQL中安全地执行,但现实是,当使用第三方工具时,你可能会发现很难找到支持带有Unicode字符的表名的支持。这可能包括备份解决方案、开发语言和API等。虽然尝试成为全球化思考者很好,但在这种情况下,我可能会坚持使用“标准”表名。
SELECT * FROM 音信 WHERE 称号 = '鸭'
.. 怎么样 >_____< - Lukman