为了账号安全,请及时绑定邮箱和手机立即绑定

今天写代码碰到一个关于实体类字段与数据库关键字的问题

标签:
SQL Server

一个实体类的字段要是取了和mysql 的关键字同名的,对数据的查找和删除没有影响,但是对数据库的修改和增添都会有影响,

仔细考虑了一下,应该是如果sql语句有用到 那个同名的关键字的话,系统就无法辨别 ,所以设计数据库字段时,尽量避免使用关键字`
代码如下:
这是数据库表 字段与实体类字段相对应,其中range是关键字Mysal的一种分区方式,具体我也不太清楚
<sql id="breadthColumns">
a.breadth_id AS breadthId,
a.code AS code,
a.range AS range,
a.metric AS metric,
a.british AS british,
a.creat_date AS createDate,
a.del_flag AS delFlag
</sql>

下面这个根据Id查找的sql语句没有用的range,可以执行
<select id="get" resultType="Breadth">
SELECT
<include refid="breadthColumns"/>
FROM
code_breadth_table a
WHERE a.breadth_id =#{breadthId,jdbcType=VARCHAR}
</select>

更新的Sqly语句用到了range,所以只想报语法错误
<update id="update">
UPDATE code_breadth_table
SET
code=#{code},
metric = #{metric},
british = #{british},
range = #{range},
creat_date = #{createDate}
WHERE breadth_id=#{breadthId,jdbcType=VARCHAR}
</update>
`

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消