在MYSQL中使用中间点命名表?

时间:2018-06-07 16:42:55

标签: mysql database

使用中间点命名表会导致问题,例如:

app.component.ts (uses the Selector from my-module.component)
test.component.ts
modules/my-module.component.ts (want to use Selector from test.component)

1 个答案:

答案 0 :(得分:2)

规则在Schema Object Names解释:

  

标识符在内部转换为Unicode。它们可能包含以下字符:

     
      
  • 不带引号的标识符中允许的字符:

         
        
    • ASCII:[0-9,a-z,A-Z $ _](基本拉丁字母,数字0-9,美元,下划线)

    •   
    • 扩展:U + 0080 .. U + FFFF

    •   
  •   
  • 带引号的标识符中允许的字符包括完整的Unicode基本多语言平面(BMP),但U + 0000除外:

         
        
    • ASCII:U + 0001 .. U + 007F

    •   
    • 扩展:U + 0080 .. U + FFFF

    •   
  •   
  • ASCII NUL(U + 0000)和补充字符(U + 10000及更高)不允许使用带引号或不带引号的标识符。

  •   
  • 标识符可以以数字开头,但除非引用可能不仅仅由数字组成。
  •   
  • 数据库,表和列名称不能以空格字符结尾。
  •   

·字符为U+00B7 MIDDLE DOT,因此它符合带引号标识符中扩展的定义。

说,我可以想到两个潜在的问题:

  • 有时需要将对象名称映射到文件系统对象。我们可以推测MySQL在所有支持的平台上都做得很好但是让我感到不安。

  • 如果您碰巧在未正确配置的客户端/连接中运行SQL查询,或者您从剪贴板粘贴查询,则可能会使用错误的字符。