在今儿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关键字 - Python技术站