社区
MS-SQL Server
帖子详情
字段名使用关键字有哪些潜在的危险
anison
2007-11-30 12:43:35
很多表里都有编号字段,比如Owner表
我不想叫OwnerNo,直接用No的话又跟关键字一样
虽然暂时没什么问题。。。但是有没潜在的危险?
...全文
496
19
打赏
收藏
字段名使用关键字有哪些潜在的危险
很多表里都有编号字段,比如Owner表 我不想叫OwnerNo,直接用No的话又跟关键字一样 虽然暂时没什么问题。。。但是有没潜在的危险?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
19 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
bestzrz
2007-12-02
打赏
举报
回复
一直不太明白[]是干什么的...原来是这样啊.. . 学习了
w2jc
2007-12-02
打赏
举报
回复
呵呵,看来结论就是最好不要用关键字,一是麻烦,得用[ ],二是可能有些莫名奇怪的问题。
还不如花点时间制定了命名规范,比如 owner_id 或者 OwnerID 就是两种风格不同的规范。
再就是建立一个数据字典,好好检查一下有没有不符合上面所说的情况。
阿里呆呆
2007-11-30
打赏
举报
回复
呵呵 我也是刚刚明白[]的意义
yesyesyes
2007-11-30
打赏
举报
回复
不是危险
而是麻烦
比如
select [select]
from [from]
where [where]=1
group by [group]
order by [order]
好玩吧
anison
2007-11-30
打赏
举报
回复
最好是不要和默认关键字冲突,
OwnerNo 没有什么不好的,简单而且也明确
-------
那Owner表字段命名为了保持一致 那岂不是所有字段都要加Owner前缀
Gangzai1983
2007-11-30
打赏
举报
回复
做人要厚道!!!
ojuju10
2007-11-30
打赏
举报
回复
用关键子作为字段比较慢,要在字段上加[]
有些关键子系统会默认是字段名,例如:name
有些关键子作为字段,必须要加[],例如:[select]
fwacky
2007-11-30
打赏
举报
回复
select [column]
from [where]
where [column] = 1
-狙击手-
2007-11-30
打赏
举报
回复
建议不用,但是如果非要用,一定在以后 角本时加 '[]'
fa_ge
2007-11-30
打赏
举报
回复
最好不用关键字,意义上也让人产生歧意,不好理解.
命名最好按楼上说的一样
JL99000
2007-11-30
打赏
举报
回复
字段命名时我觉得还是用前后缀,我命名时都用name_ch,id_i这种
lgzxz999
2007-11-30
打赏
举报
回复
一直不太明白[]是干什么的...原来是这样啊.. . 学习了
hui_hui_2007
2007-11-30
打赏
举报
回复
最好不用关键字,虽然微软自带的示例库中字段名也是关键字,估计那是一种示例的作用,告诉大家,与关键字重名时如何处理。
如果是关键字,就加上定界符[]吧。
tianhuo_soft
2007-11-30
打赏
举报
回复
不能做insert等操作
我以前定义了一个 name字段结果找了一天没找到原因
anison
2007-11-30
打赏
举报
回复
最好是不要和默认关键字冲突,
OwnerNo 没有什么不好的,简单而且也明确
-------
那Owner表字段命名为了保持一致 那岂不是所有字段都要加Owner前缀!!!??
实际上我只有no name size 会跟关键字冲突
而用在select insert delete 中不会有什么问题吧。。
有点穿牛角尖了。。
yesyesyes
2007-11-30
打赏
举报
回复
我只是举例子,比如还有(都是开玩笑啦)
create database [database]
create table [table]
create view [view]
create proc [proc]
grant all on [on] to [to]
等等
w2jc
2007-11-30
打赏
举报
回复
最好是不要和默认关键字冲突,
OwnerNo 没有什么不好的,简单而且也明确
实在要用和关键字有冲突的,用方括号[]
select [column]
from [where]
where [column] = 1
nobody@noone
2007-11-30
打赏
举报
回复
不是危险
而是麻烦
比如
select [select]
from [from]
where [where]=1
group by [group]
order by [order]
好玩吧
===========================
大哥,你这个肯定会报
列 [select] 在选择列表中无效,因为该列既不包含在聚合函数中,也不包含在 GROUP BY 子句中。
ojuju10
2007-11-30
打赏
举报
回复
最好避免下关键字
Unity序列化
字段名
冲突:new
关键字
引发的同名字段报错解析
Unity序列化系统要求每个可序列化字段在序列化上下文中具备唯一路径标识,其底层基于反射扫描而非C#运行时继承逻辑。当子类
使用
public new修饰符遮蔽父类public字段(如name、tag、id)时,Unity会同时识别父类与子类的同名字段,导致‘同一
字段名
被多次序列化’错误。该问题本质是序列化命名空间冲突,而非语法错误或编辑器Bug。典型场景包括MonoBehaviour继承链、[System.Serializable]数据类嵌套、ScriptableObject配置等。解决核心在于消除同名字段共
oracle,mysql对敏感,
关键字
等处理
oracle用"" 比如,处理字段中间有空格, o."SWITCH MODEPOWERSUPPLY" onoffpowermodel, mysql用``,比如
关键字
等。这个符号是1左边的,英文符号。
MySQL
关键字
使用
规范与冲突解决方案
在数据库开发中,SQL
关键字
是构成查询语句的基础元素,它们定义了数据库操作的核心语法。MySQL作为最流行的关系型数据库之一,其保留
关键字
体系直接影响SQL语句的解析和执行效率。理解
关键字
冲突原理尤为重要,当
字段名
与保留
关键字
重名时,数据库引擎会抛出1064语法错误。通过反引号转义标识符是MySQL特有的解决方案,这种机制既保证了语法兼容性,又维护了开发灵活性。在实际工程中,合理设计命名规范(如下划线命名法)能有效预防
关键字
冲突问题,特别是在
使用
ORM框架或处理历史遗留系统时。本文以MySQL DDL/DM
MySQL
关键字
引发的血案:MyBatis-Plus中JSqlParser报错排查全记录
本文深入解析了MyBatis-Plus中因MySQL
关键字
冲突导致的JSqlParser报错问题,提供了从异常诊断到解决方案的全流程指南。通过实际案例展示了
关键字
转义、版本升级、拦截器配置等实战技巧,帮助开发者有效规避SQL解析异常,提升开发效率。
sql
字段名
拼接_实例讲解什么是SQL注入
点击上方SQL数据库开发,关注获取SQL视频教程SQL专栏SQL数据库基础知识汇总SQL数据库高级知识汇总WEB技术发展日新月异,但是徒手拼SQL的传统手艺还是受相当多的开发者亲睐。毕竟相比于再去学习一套复杂的ORM规则,手拼更说方便,直观。通常自己拼SQL的人,应该是有听说过SQL注入很
危险
,但是总是心想:我的SQL语句这么简单,不可能被注入的。花5分钟看完这个完整的例子,从今往后应该...
MS-SQL Server
34,876
社区成员
254,638
社区内容
发帖
与我相关
我的任务
MS-SQL Server
MS-SQL Server相关内容讨论专区
复制链接
扫一扫
分享
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章