一:引言 用hibernate建表时经常遇到的一个异常:Error executing DDL via JDBC Statement 方法: 查看报错sql语句.问题就在这里. 我是表名(字段名)与保留字冲突. 二:Mysql保留字表 Reserved Words in MySQL 5.6.23 ACCESSIBLE ADD ALL ALTER ANALYZE AND AS ASC ASENSITIVE BEFORE BETWEEN BIGINT BINARY BLOB BOTH BY CALL…
问题:MySQL字段名与保留字冲突在实际操作是常常出现的.一把会出现下面错误. com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException. 解决方法:在MySQL中,下表中的字显式被保留.当中大多数字进制被标准SQL用作列名和/或表名(比如.GROUP).少数被保留了,由于MySQL须要它们.在MySQL中,当表名或字段名乃至数据库名和保留字冲突时,在sql语句里能够用撇号()括起来,当让我们一般都尽量少使用这些保留的字段. ADD AL…
建了个表,有个字段起名为key,结果insert语句报错了,说是sql不对. 原因:字段key和MySQL的保留字冲突了,当mysql的字段名和保留字冲突的时候,sql语句中的字段名需要加上反引号``来加以区别,反引号可以用Esc键下面那个按键在英文模式不按shift键打出来,注意,是反引号不是单引号,回车键左边那个是单引号. 另外附上mysql保留字列表: Reserved Words in MySQL 5.6.23 ACCESSIBLE ADD ALL ALTER ANALYZE AND A…
用"(`)"将有冲突的字段框起来,,键盘上1边上那个键. 例: SELECT * FROM yun_roleright WHERE right LIKE '%{13}%'; 上面sql语句中right字段名与关键字冲突,会报错,,,应改成下面: SELECT * FROM yun_roleright WHERE `right` LIKE '%{13}%'; 原文地址:https://blog.csdn.net/qq_42176520/article/details/81168578…
最近开发遇到一个很奇葩的问题,简单做一下笔记 select * from Add ... 以上SQL语句会报错. 原因Add是表名,SQL语句保留字中又有Add 解决方法: select * from [Add] ... 把与保留字相同的表名或者字段名用[ ]括起来,这样就能把SQL语句保留字区分开来. ***知识点*** 顺便总结一下SQL语句的保留字 A ADD ALL Alphanumeric - 参阅 TEXT ALTER And ANY AS ASC AUTOINCREMENT - 参…
今天遇到个问题,mysql字段为 to ,但是插入时报语法错误,仔细分析to是关键词 使用单引号和双引号 全部失败!!!! 仔细看 mysql的字段都是`(键盘Esc下面那个符号)括起来的, 试了一下ok, 解决办法: 用键盘Esc下面那个符号括起来,`to`…
Java与SQL Server, MySql, Oracle, Access的连接方法以及一些异常解决 I. 概述 1.1 JDBC概念 JDBC(Java Database Connectivity)是Java语言为了支持SQL功能而提供的与数据库连接的用户的接口,JDBC中包括了一组由(Java)语言书写的接口和类,它们都是独立于特定的DBMS,或者说他们可以和各种数据库相关联. 1.2 JDBC用途 JDBC由一组Java语言编写的类和接口组成,使用内嵌式的SQL,主要实现三方面功能:建立…
mysql 关键字与字段名相同,插入或者修改里会报错 解决办法: 1.改字段名,如果库里面表结构关系不复杂,修改字段名就解决 2.在插入或者修改字段时,字段名加上  ` 包上,注意:这里不是引号,是英文格式下,波浪线那个按键…
Mysql保留字列表.吠品整理. 尝试使用一个识别符,例如使用嵌入式MySQL 数据类型或函数名作为表名或列名,例如TIMESTAMP 或GROUP,会造成一个常见问题.允许你这样操作( 例如,ABS 可以作为一个列名) .但是,默认情况下,在数调用中在函数名和后面的‘( ’字符之间不允许有空格.该要求使函数调用与列名引用不同. Reserved Words in MySQL 5.6.23     ACCESSIBLE ADD ALL ALTER ANALYZE AND AS ASC ASENS…
DROP TABLE IF EXISTS `bas_dictionary`; CREATE TABLE `bas_dictionary` ( `id` ) NOT NULL AUTO_INCREMENT, `name` ) NOT NULL COMMENT '字典名称', `) NOT NULL COMMENT '代码', `value` ) NOT NULL COMMENT '字典值', `comment` ) DEFAULT NULL COMMENT '备注', `) ' COMMENT '…
select COLUMN_NAME,column_comment from INFORMATION_SCHEMA.Columns where table_name='表名' and table_schema='数据库名'…
如果mysql某个字段(name)类型为varchar, 加了索引,在执行where查询的时候,传入了int的值,这样就会全表扫描,把每一条的值都转换成int(会出现"中国"->0, "06"->6, "6"->6, "hello"->0), 然后和传过来的int值匹配,这样是全表扫描,效率很低. ------------------------------ 伟大的分割线 ---------------…
最近,由于安装插件导致eclipse的SVN插件不能使用,出现的问题实在很烦恼,通过试验发现当新安装的插件安装完毕后,只需要把eclipse-jee-kepler-SR2-win32-x86_64/eclipse/configuration目录下的org.eclipse.update目录删除即可,并且这个目录在eclipse重启之后会重新生成. eclipse-jee-kepler-SR2-win32-x86_64是自己eclispe的安装目录.…
解决方案如下: sudo rm /var/lib/dpkg/updates/* sudo apt-get update python@ubuntu:~/Desktop/_Welcome_.jpg.extracted$ sudo rm /var/lib/dpkg/updates/* python@ubuntu:~/Desktop/_Welcome_.jpg.extracted$ sudo apt-get update 问题解决!!!…
如果出现标题所述问题,需从四个层面解决问题 1 项目文件是否为utf8编码 右键项目文件->properties->Resource->Text file encoding->设置为utf8 2 页面内容是否为utf8编码 在<head>标签中加入 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 以上两步基本能解决本地页面显示中文的…
设计数据表时,应尽量避免使用MySQL的关键字和保留字作为表名或列名. 比如key和keys为保留字,如果不小心使用关键字或者保留字作为列名字,执行下面的语句会出现语法错误: select * from table_name where key='test'; 这种情况下,需要把保留字用反引号包含: select * from table_name where `key`='test'; 字段key和mysql的保留字冲突了,当mysql的字段名和保留字冲突的时候,sql语句中的字段名需要加上反…
今天测试代码,新建了一张 Order 表,使用的 MySQL 数据库. 插入数据的时候报语法错误,我检查了好几遍,也没看出 SQL 语句哪里有问题,于是从 MyBatis 的日志里拷贝出 SQL 语句拿到 Navicate 里执行,同样报语法错误. 最后经过查找资料了解到,我的表名 Order 属于数据库保留的关键字.所以冲突了,有两种解决办法: (1)使用撇号把表名包起来:`Order`,就不会报错了. (2)修改表名为 OrderInfo.只要不是保留字就行. 在MySQL中,当表名或字段名…
在Mysql中,当表名或字段名乃至数据库名和保留字冲突时,在sql语句里可以用撇号`(Tab键上方的按键)括起来. 注意,只有保留字需要``括起来,非保留字的关键字不需要. MySQL 8.0 官方文档:https://dev.mysql.com/doc/refman/8.0/en/keywords.html Keywords are words that have significance in SQL. Certain keywords, such as SELECT, DELETE, or…
我们知道通常的SQL查询语句是这么写的: select col from table; 这当然没问题,但如果字段名是“from”呢? select from from table; 若真的这么写,必然出错,当字段名与MySQL保留字冲突时,可以用字符“`”将字段名括起来: select `from` from table; 总结:在Mysql中,当表名或字段名乃至数据库名和保留字冲突时,在sql语句里可以用撇号(`)括起来.…
select BSK001 from dbdata 报错: column "bsk001" of relation "dbdata" does not exist. 原因是数据库中字段名为BSK001,而sql语句中将大写字母自动转为小写; 也就是select BSK001 from dbdata与select bsk001 from dbdata是一样的; 难道postgress数据库遇到大写的字段名就无法操作绿吗? select "BSK001&quo…
一开始查询出来的字段名显示的是???,下面说说解决方法(本人也是在网上看到的,算是重复编辑一下): ------------------------------------------------------------------------------------------------- 首先查看这个字段的VALUE值,虽然我也不知道为什么要看,因为解决方法似乎跟这条查询语句没关系,有没有人给解释一下: select * from V$NLS_PARAMETERS 然后在环境变量里面去看看…
我在用mysql创建数据表时,其中一个表怎么创建都提示失败,最终我把语句翻来覆去折腾了许多遍之后发现原来我的一个字段值的名称为order的字段出了问题,把它去了就好了,最后结论就是设置字段值名称时不要与mysql自身的保留字冲突,我看网上有解决办法就是加单引号我没有尝试这种方法,直接把字段名给改了.…
在设计MySQL字段的时候,无意中使用InOut这个名称作为字段名称,结果前端提交后就是没有写入数据库!但后端没有任何提示,跟踪mySQL日志,也没有留下痕迹,反复查,不得其解. 后来实在没有办法情况下,之后把表删除,重新手动建一次表,就在再次建表的时候,灵光一现,可能就出在InOut这个名字上,于是改为In_Out,果不出其然,一切OK.   原因是InOut是mySQL的保留字,不能作为字段名. MySQL保留字如下: Table 9.2 Keywords and Reserved Word…
原文链接:http://www.cnblogs.com/xdp-gacl/p/4264301.html     http://www.cnblogs.com/xdp-gacl/p/4264425.html 一.优化MyBatis配置文件中的配置 1.连接数据库的配置单独放在一个properties文件中 之前,我们是直接将数据库的连接配置信息写在了MyBatis的主配置文件conf.xml文件中,如下: <?xml version="1.0" encoding="UTF…
本文转载自:http://www.cnblogs.com/jpf-java/p/6013307.html 在平时的开发中,我们表中的字段名和表对应实体类的属性名称不一定都是完全相同的,下面来演示一下这种情况下的如何解决字段名与实体类属性名不相同的冲突. 一.准备演示需要使用的表和数据 CREATE TABLE orders( order_id INT PRIMARY KEY AUTO_INCREMENT, order_no VARCHAR(20), order_price FLOAT ); IN…
在平时的开发中,我们表中的字段名和表对应实体类的属性名称不一定都是完全相同的,下面来演示一下这种情况下的如何解决字段名与实体类属性名不相同的冲突. 一.准备演示需要使用的表和数据 CREATE TABLE orders( order_id INT PRIMARY KEY AUTO_INCREMENT, order_no ), order_price FLOAT ); ); ); ); 二.定义实体类 package me.gacl.domain; 2 /** * @author gacl * 定…
在平时的开发中,我们表中的字段名和表对应实体类的属性名称不一定都是完全相同的,下面来演示一下这种情况下的如何解决字段名与实体类属性名不相同的冲突. 一.准备演示需要使用的表和数据 CREATE TABLE orders( order_id INT PRIMARY KEY AUTO_INCREMENT, order_no VARCHAR(20), order_price FLOAT ); INSERT INTO orders(order_no, order_price) VALUES('aaaa'…
原文:http://www.cnblogs.com/xdp-gacl/p/4264425.html 在平时的开发中,我们表中的字段名和表对应实体类的属性名称不一定都是完全相同的,下面来演示一下这种情况下的如何解决字段名与实体类属性名不相同的冲突. 一.准备演示需要使用的表和数据 CREATE TABLE orders( order_id INT PRIMARY KEY AUTO_INCREMENT, order_no ), order_price FLOAT ); ); ); ); 二.定义实体…
[转]MyBatis学习总结(四)——解决字段名与实体类属性名不相同的冲突 在平时的开发中,我们表中的字段名和表对应实体类的属性名称不一定都是完全相同的,下面来演示一下这种情况下的如何解决字段名与实体类属性名不相同的冲突. 一.准备演示需要使用的表和数据 CREATE TABLE orders( order_id INT PRIMARY KEY AUTO_INCREMENT, order_no ), order_price FLOAT ); ); ); ); 二.定义实体类 package me…
在项目开发中,数据库中的字段名不一定和实体类的类名完全相同(当然大小写忽略),那么就可以在sql映射文件中解决此问题 一.创建需要的数据库和表 编写sql脚本,在navicat for mysql中执行后生成表 CREATE TABLE orders( order_id INT PRIMARY KEY AUTO_INCREMENT, order_no ), order_price FLOAT ); ); ); ); 二.定义实体类 package me.gacl.domain; /** * Or…