zoukankan      html  css  js  c++  java
  • 由"dorp database 数字"引发的思考

       处理好安装包后、测试反馈出现重复数据库时不能正常删除、发现这一问题后进行跟踪调试、发现问题出在数据库名为数字时无法正常删除。

        如下两句语句数据库中都相应存在“111”和"DATA_NAME"数据库、但语句一将会报错。

    1.DROP DATABASE 111  ('111' 附近有语法错误。)
    2.DROP DATABASE DATA_NAME  

        那么发现这一问题、稍有经验的朋友就会发现只要在111中加"[]"即可、那么可见[]在sql中是不可或缺的一部分、往往是一些细节方面会导致开发中出现一些多余缺陷、接下来将阐述[]相关用法和概念:

       一般加[ ]用于定界列名或表名等信息,以区别一些特殊的不合命名规则的字串,或是与系统保留字有冲突。 如果表名不是关键字,如DATA_NAME ,则用"select * from DATA_NAME "是没问题的、但如果使用的是关键字如user是SQL Server保留的关键字,所以用select * from user查询会提示语法错误、针对这种问题我们如何进行解决呢?
        那么我们可以加上中括号,以声明其不是保留字。[]里的内容表示的是一个用户级的变量.目的是防止用户使用的名称和系统保留字冲突、就如我们在进行查询语句编写时出现select * from [关键字]这类的语句会无错、所以一般我们最好在进行查询是所有的表名字段名都可以加[]。
  • 相关阅读:
    ConcurrentHashMap总结
    HashMap在多线程环境下操作可能会导致程序死循环
    oracle数据库的 to char 和to date 区别(时间格式化)
    SQL中的cast()函数用法
    常见的垃圾收集器有3类-java面试一
    mybatis中sql引用
    mysql find_in_set 查询
    用Redis实现微博关注关系的分析
    C#与C++相比较之STL篇(续一)
    Vite2.0 入门
  • 原文地址:https://www.cnblogs.com/tanliang/p/1933060.html
Copyright © 2011-2022 走看看