很多表里都有编号字段,比如Owner表  
我不想叫OwnerNo,直接用No的话又跟关键字一样
虽然暂时没什么问题但是有没潜在的危险?

解决方案 »

  1.   

    最好是不要和默认关键字冲突,
    OwnerNo 没有什么不好的,简单而且也明确
    实在要用和关键字有冲突的,用方括号[]
    select [column]
    from [where]
    where [column] = 1
      

  2.   

    字段命名时我觉得还是用前后缀,我命名时都用name_ch,id_i这种
      

  3.   


    select   [column] 
    from   [where] 
    where   [column]   =   1 
      

  4.   

    用关键子作为字段比较慢,要在字段上加[]
    有些关键子系统会默认是字段名,例如:name有些关键子作为字段,必须要加[],例如:[select]
      

  5.   

    最好是不要和默认关键字冲突, 
    OwnerNo   没有什么不好的,简单而且也明确 
    -------
    那Owner表字段命名为了保持一致  那岂不是所有字段都要加Owner前缀
      

  6.   

    不是危险
    而是麻烦
    比如
    select [select]
    from [from]
    where [where]=1
    group by [group]
    order by [order]
    好玩吧
      

  7.   

    不是危险 
    而是麻烦 
    比如 
    select   [select] 
    from   [from] 
    where   [where]=1 
    group   by   [group] 
    order   by   [order] 
    好玩吧===========================
    大哥,你这个肯定会报
    列 [select] 在选择列表中无效,因为该列既不包含在聚合函数中,也不包含在 GROUP BY 子句中。
      

  8.   

    我只是举例子,比如还有(都是开玩笑啦)
    create database [database]
    create table [table]
    create view [view]
    create proc [proc]
    grant all on [on] to [to]
    等等
      

  9.   

    最好是不要和默认关键字冲突,   
    OwnerNo       没有什么不好的,简单而且也明确   
    ------- 
    那Owner表字段命名为了保持一致     那岂不是所有字段都要加Owner前缀!!!??实际上我只有no name size 会跟关键字冲突
    而用在select insert delete 中不会有什么问题吧。。有点穿牛角尖了。。
      

  10.   

    不能做insert等操作 
      我以前定义了一个 name字段结果找了一天没找到原因
      

  11.   

    呵呵,看来结论就是最好不要用关键字,一是麻烦,得用[ ],二是可能有些莫名奇怪的问题。还不如花点时间制定了命名规范,比如 owner_id 或者 OwnerID 就是两种风格不同的规范。再就是建立一个数据字典,好好检查一下有没有不符合上面所说的情况。