在今儿hibernate执行save方法的时候显示sql语法错误
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near
数据库关系中出现了多对一,多对多关系,相对较为复杂,但配置均正确,出现上述问题实为诡异。在查询了多方资料无果之后,想起了Mysql中存在关键字问题,如果在数据库表的列名使用关键字或保留字的话,将会出现问题。于是查了一下Mysql关键字,发现在domain字段中中使用了describe关键字,修改之后保存即可顺利进行。
Mysql关键字
ADD |
ALL |
ALTER |
ANALYZE |
AND |
AS |
ASC |
ASENSITIVE |
BEFORE |
BETWEEN |
BIGINT |
BINARY |
BLOB |
BOTH |
BY |
CALL |
CASCADE |
CASE |
CHANGE |
CHAR |
CHARACTER |
CHECK |
COLLATE |
COLUMN |
CONDITION |
CONNECTION |
CONSTRAINT |
CONTINUE |
CONVERT |
CREATE |
CROSS |
CURRENT_DATE |
CURRENT_TIME |
CURRENT_TIMESTAMP |
CURRENT_USER |
CURSOR |
DATABASE |
DATABASES |
DAY_HOUR |
DAY_MICROSECOND |
DAY_MINUTE |
DAY_SECOND |
DEC |
DECIMAL |
DECLARE |
DEFAULT |
DELAYED |
DELETE |
DESC |
DESCRIBE |
DETERMINISTIC |
DISTINCT |
DISTINCTROW |
DIV |
DOUBLE |
DROP |
DUAL |
EACH |
ELSE |
ELSEIF |
ENCLOSED |
ESCAPED |
EXISTS |
EXIT |
EXPLAIN |
FALSE |
FETCH |
FLOAT |
FLOAT4 |
FLOAT8 |
FOR |
FORCE |
FOREIGN |
FROM |
FULLTEXT |
GOTO |
GRANT |
GROUP |
HAVING |
HIGH_PRIORITY |
HOUR_MICROSECOND |
HOUR_MINUTE |
HOUR_SECOND |
IF |
IGNORE |
IN |
INDEX |
INFILE |
INNER |
INOUT |
INSENSITIVE |
INSERT |
INT |
INT1 |
INT2 |
INT3 |
INT4 |
INT8 |
INTEGER |
INTERVAL |
INTO |
IS |
ITERATE |
JOIN |
KEY |
KEYS |
KILL |
LABEL |
LEADING |
LEAVE |
LEFT |
LIKE |
LIMIT |
LINEAR |
LINES |
LOAD |
LOCALTIME |
LOCALTIMESTAMP |
LOCK |
LONG |
LONGBLOB |
LONGTEXT |
LOOP |
LOW_PRIORITY |
MATCH |
MEDIUMBLOB |
MEDIUMINT |
MEDIUMTEXT |
MIDDLEINT |
MINUTE_MICROSECOND |
MINUTE_SECOND |
MOD |
MODIFIES |
NATURAL |
NOT |
NO_WRITE_TO_BINLOG |
NULL |
NUMERIC |
ON |
OPTIMIZE |
OPTION |
OPTIONALLY |
OR |
ORDER |
OUT |
OUTER |
OUTFILE |
PRECISION |
PRIMARY |
PROCEDURE |
PURGE |
RAID0 |
RANGE |
READ |
READS |
REAL |
REFERENCES |
REGEXP |
RELEASE |
RENAME |
REPEAT |
REPLACE |
REQUIRE |
RESTRICT |
RETURN |
REVOKE |
RIGHT |
RLIKE |
SCHEMA |
SCHEMAS |
SECOND_MICROSECOND |
SELECT |
SENSITIVE |
SEPARATOR |
SET |
SHOW |
SMALLINT |
SPATIAL |
SPECIFIC |
SQL |
SQLEXCEPTION |
SQLSTATE |
SQLWARNING |
SQL_BIG_RESULT |
SQL_CALC_FOUND_ROWS |
SQL_SMALL_RESULT |
SSL |
STARTING |
STRAIGHT_JOIN |
TABLE |
TERMINATED |
THEN |
TINYBLOB |
TINYINT |
TINYTEXT |
TO |
TRAILING |
TRIGGER |
TRUE |
UNDO |
UNION |
UNIQUE |
UNLOCK |
UNSIGNED |
UPDATE |
USAGE |
USE |
USING |
UTC_DATE |
UTC_TIME |
UTC_TIMESTAMP |
VALUES |
VARBINARY |
VARCHAR |
VARCHARACTER |
VARYING |
WHEN |
WHERE |
WHILE |
WITH |
WRITE |
X509 |
XOR |
YEAR_MONTH |
ZEROFILL |
MySQL允许部分关键字用做未引起来的识别符,因为许多人以前曾使用过它们。下面列出了一些例子:
ACTION
BIT
DATE
ENUM
NO
TEXT
TIME
TIMESTAMP
相关推荐
MySQL关键字
### MySQL关键字详解 #### 概述 MySQL作为一款广泛使用的开源关系型数据库管理系统,拥有丰富的关键字集合用于构建复杂的SQL查询及数据库操作。本文将对MySQL中的关键字进行详细解析,帮助开发者更好地理解和应用...
MySQL关键字.doc
以下是一些重要的MySQL关键字: 1. `ADD`:用于向表中添加列或索引。 2. `ALTER`:用于修改已有表的结构,如添加、删除或更改列。 3. `ANALYZE`:分析表的统计信息,帮助优化查询计划。 4. `AND`:逻辑运算符,用于...
MySQL 关键字执行顺序是数据库查询优化的重要概念,它直接影响着SQL语句的性能和结果。下面我们将详细探讨这些关键字的执行流程,并解答一些常见疑问。 首先,MySQL的执行顺序如下: 1. FROM:首先执行FROM子句,...
MySQL关键字Distinct用法介绍 DDL Prepare SQL: create table test(id bigint not null primary key auto_increment, name varchar(10) not null, phone varchar(10) not null, email varchar(30) not null)...
在MySQL 5.7中,了解关键字和保留字对于编写有效的SQL语句至关重要。这些关键字是SQL语言中具有特殊含义的单词,它们用于定义数据库结构、查询数据、更新记录等操作。保留字则是那些不能直接作为数据库对象名称(如...
MySQL配置文件my.ini或my.cnf的位置 show status 与show variables 区别 1、show status 2、show variables 根据status状态对Mysql数据库进行优化: 1、连接数 1.1 show variables like ‘max_connections...
在MySQL数据库管理系统中,“explain”是一个非常重要的关键字,它用于分析SQL查询的执行计划,帮助我们理解查询如何在数据库中运行,从而优化查询性能。在本文中,我们将深入探讨“explain”的使用及其对数据库性能...
mysql 关键字 NO_WRITE_TO_BINLOG NULL NUMERICNO_WRITE_TO_BINLOG NULL NUMERICNO_WRITE_TO_BINLOG NULL NUMERIC
首先,MySQL的关键字是数据库语言SQL中的重要组成部分,它们用于执行各种数据库操作,如创建、查询、更新和删除数据。例如,“CREATE DATABASE”用于创建新的数据库,而“SELECT”用于从表中检索数据。“UPDATE”则...
在数据库领域,SQL Server 和 MySQL 是两种广泛应用的关系型数据库管理系统,它们在语法和关键字上有一定的差异。以下将详细解析这些不同之处,以便于在从 SQL Server 迁移到 MySQL 或反之亦然时能顺利进行转换。 1...
### MySQL关键字概述 在MySQL中,关键字是预定义的保留字,用于执行特定的功能或操作。这些关键字可以用来创建数据库、表、索引等数据库对象;执行数据查询、插入、更新和删除等操作;以及控制用户权限等。理解并...
在C#编程中,连接MySQL数据库是常见的任务,但有时候可能会遇到一些问题,例如“给定关键字不在字典中”的错误。这个问题通常与使用的MySQL数据访问驱动(MySql.Data.dll)有关。以下是对这个错误的详细分析和解决...
MySQL数据库中的保留字是指在数据库中具有特殊意义和用途的单词,它们被用于SQL语句中,以执行特定的操作或作为命令的关键字。这些保留字不能用作表名、列名或其他对象的名称。保留字通常用于执行数据查询、定义数据...
MySQL 关键字数据库脚本
一些常见的MySQL关键字包括数据类型,例如: 1. **数字类型**: - 整数:`tinyint`, `smallint`, `mediumint`, `int`, `bigint` - 浮点数:`float`, `double`, `real`, `decimal` 2. **日期和时间类型**: - `...
当使用 MySQL 关键字作为数据库名、表名或字段名时,需要将关键字用反引号 (``) 包围起来以避免冲突。 #### MySQL 数据库操作 - **创建数据库**: ```sql CREATE DATABASE IF NOT EXISTS db_name DEFAULT ...