mysql中的sql语句存在关键字怎么办?

mysql中的sql语句存在关键字怎么办?,第1张

用逗引将关键字的字段引起来,insert into tb_test `use` values ('test')逗引就是数字键旁边的那个,在英文输入法下按下建议:数据库表的设计避过关键字。

如果sql语句中存在关键字,可以用反勾号(Esc下面的那个键)做转义;

` 是 MySQL 的转义符,避免和 mysql 的本身的关键字冲突,只要你不在列名、表名中使用 mysql 的保留字或中文,就不需要转义。

所有的数据库都有类似的设置,不过mysql用的是`而已。通常用来说明其中的内容是数据库名、表名、字段名,不是关键字。例如:select from from table

第一个from是字段名,最后的table表名,但是同时也是mysql关键字,这样执行的时候就会报错,所以应该使用。

经评论区朋友的指点,此篇文章存在问题,不把SQL关键字作为字段名才是解决问题的关键。

单独针对mysql,可以使用反引号,即`

对于oracle,需要使用双引号加大写,即"KEY"这种,或者直接不加任何符号,不能使用单引号,不然会出现评论区兄弟说的那种情况,即查询结果的字段是返回'key'这种形式。

sql使用单引号

查询见截图,下面返回的查询结果中返回的字段名带有单引号:

查询结果中应该不带单引号的。

所以为了兼顾mysql和oralce,最好的办法是修改字段名,不要涉及sql系统关键字和特殊字段。

在mybatis的xml配置中有如下sql语句:

上述配置,在mysql中会报错

提示有语法错误, key value为msyql系统关键字,解决方法可以是可以用反引号,如下

这样做在mysql中是可以的,不过在oracle中使用反引号会报错

上述mybatis配置中的sql在oracle中执行是没问题的,

所以为了sql在mysql和oracle中都能执行,使用单引号更改sql语句,改完如下:

这样在mysql和oracle中都可以执行了。

需要用到的工具:Mysql数据库,Navicate for mysql,步骤如下:

1、首先打开Navicate,连接Mysql数据库,点击图中框中的Mysql数据库右键即可。

2、Mysql数据库右键之后,然后在出现的菜单栏选择在数据库中查找选项进入。

3、点击在数据库中查找之后,进入新的界面,输入要查找的关键字或词语。

4、输入完成之后,然后点击右侧的查找按钮即可完成。

5、然后就可以看到查找结果了,这样就解决了问题。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/6095535.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-14
下一篇 2023-03-14

发表评论

登录后才能评论

评论列表(0条)

保存