當資料庫欄位涉及到mysql保留字,插入資料不成功
簡述
今天在編寫專案的時候遇到一個問題,通過java專案向mysql資料庫插入資料時,報下面的問題
com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: 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 'desc) values ('123', 1, 1.0, 1.0, null, null, null, null, '1')' at line 1
原因在於我使用了mysql的保留字,導致始終無法插入資料,但是從表面來看還沒什麼問題
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保留字,插入資料不成功
簡述 今天在編寫專案的時候遇到一個問題,通過java專案向mysql資料庫插入資料時,報下面的問題 com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: You have an error in y
關於mysql欄位名和保留字衝突的問題
建了個表,有個欄位起名為key,結果insert語句報錯了,說是sql不對。 建表語句如下: CREATE TABLE `base_error_message_test` ( `message_id` varchar(50) NOT NULL, `message`
Mysql欄位名與保留字衝突導致的異常解決
一:引言 用hibernate建表時經常遇到的一個異常:Error executing DDL via JDBC Statement 方法: 檢視報錯sql語句。問題就在這裡。 我是表名(
使用Python建立MySQL資料庫實現欄位動態增加以及動態的插入資料
應用場景: 我們需要設計一個數據庫來儲存多個文件中每個文件的關鍵字。假如我們每個文件字元都超過了1000,取其中出現頻率最大的為我們的關鍵字。 假設每個文件的關鍵字都超過了300,每一個檔案的0-29
【MyBatis】解決資料庫欄位名稱與Java實體類屬性名稱不一致問題
問題描述: 有時候在專案中會遇到資料庫欄位名稱與實體類屬性名稱取得不一樣的情況,如下: 資料庫裡的資料為: 此時,如果我們查詢該表的某條資料,Proj
在Mybatis中,解決資料庫欄位名與java實體類屬性名不一致的三種方式
在使用Mybatis來持久化資料庫時,有時候會碰到資料庫中表中的欄位與java實體類中屬性名不一致的情況,在這種情況下Mybatis是不能完成欄位的自動對映的。而通常情況下,資料庫及實體類是不應該被改的的。所以要在不改變資料庫以及實體類的情況下解決這個問題,下面是解決該問題
解決在springboot+mybatis+postgresql時,資料庫欄位型別為json時,如何與mybatis進行對映
pg 資料庫中 某欄位型別為jsonJava實體中對應型別是 jsonObject private JSONObject info;在mybatis的xml中,常規無法直接進行對映,需要自己寫一個TypeHandler,自定義一個JSONTypeHandlerPg類具體程
曹工改bug--本來以為很簡單的資料庫欄位長度不足的問題,最後竟然靠抓包才解決
# 問題描述 這兩天本來忙著新功能開發,結果之前的一個專案最近要上了,然後又在測試,然後就喜提bug一枚(not mine),看bug描述,很簡單,而且本地環境也重現了,只要輸入2000個英文字元就可以復現。 核心就是: > 當任務描述輸入最大字元2000時,報未知異常 #問題定位 這種字元數限
欄位名為mysql保留字的表的插入問題
嘗試使用一個識別符,例如使用嵌入式MySQL資料型別或函式名作為表名或列名,例如TIMESTAMP或GROUP,會造成一個常見問題。允許你這樣操作(例如,ABS可以作為一個列名)。但是,預設情況下,在數呼叫中在函式名和後面的‘(’字元之間不允許有空格。該要求使函式呼叫與列名引用不同。該行為的不利結果是在某些上
Mybatis 當實體屬性與資料庫欄位不一致時的解決方案
使用Mybatis的時候,Mybatis根據資料庫的欄位找到對應實體類的屬性,通過set方法對屬性進行注入。 我們可以對實體類的set方法進行測試,測試如下: 執行結果如下: 說明:Mybatis會根據相同的屬性和欄位名通過set方法進行注入 那
內部規範--Mysql資料庫欄位命名
方便自動程式碼生成器生成相應的功能 1、刪除標記 IS_DEL `IS_DEL` int(1) NOT NULL DEFAULT '0' COMMENT 'TITLE[刪除狀態] INTRO[刪除狀態,詳細資訊在B_RECORD_DELETE 表中記錄] INPUT[TY
sqlserver資料庫中如果對數值型的欄位進行小數點保留兩位,如果是小於1的數,前面的0消失解決方案
sqlserver資料庫中數值型保留兩位小數的方式: 1. 使用 Round() 函式,如 Round(@num,2) 引數 2 表示 保留兩位有效數字。 2. 更好的方法是使用 Convert(decimal(18,2),@num) 實現轉換,decimal(18,2
sqlalchemy欄位與mysql資料庫欄位對應問題
欄位型別是在定義模型時, 對每個 Column 的型別約定. 不同型別的欄位型別在輸入輸出上, 及支援的操作方面, 有所區別. 這裡只介紹 sqlalchemy.types.* 中的型別, SQL 標準型別方面, 是寫什麼最後生成的 DDL 語句就是什麼, 比如 B
mysql資料庫中id欄位中間記錄刪除以後,再新增記錄id欄位順序被打亂
舉個例子 id 1 2 3 4 5 6 7 8 這是8條記錄 id 欄位設定是自動遞增的現在刪除其中的7 8 共2條記錄再新增一條記錄雖然記錄刪除了,但是id還是從未刪除的時候繼續增長,現在把表中id自動增長關閉,把id=9的記錄刪除 再新增記錄現在就可以了
java中自定義列舉enum對映到mysql資料庫欄位處理器handler
今年企業對Java開發的市場需求,你看懂了嗎? >>>
sails 資料庫欄位
屬性值 概述 模型的屬性是一個模型的基本的資訊。一個Person的模型可能有屬性叫做firstName,lastName,phoneNumber,age,birthDate和emailAddress。 屬性選項 這些選項可以用來執行各種約束條件並且新增特殊的增強功能到我們的模型中。
MyBatis學習(四)--解決實體屬性和資料庫欄位不一致的問題
寫在前面 孤傲蒼狼的部落格:https://www.cnblogs.com/xdp-gacl/category/655890.html 程式碼中會有很多重要的註釋,請不要忽略。 前面在建立實體時,強調過一定要和資料庫列名一致。如果不一致結果是對映不到實體中的,但是資料庫和j
C#查詢ACCESS資料庫欄位和時間欄位
查詢表的所有欄位 string.Format("SELECT * FROM{0}", TableName); 查詢表中的一個欄位 在ACCESS中將欄位用CStr()轉換成字串來判斷 string.Format("SELECT* FROM {0} WHERE CStr({1})=
ireport報表製作, 當一個欄位顯示的資料太多時(資料過長),則需要自動換行
1、當一個欄位顯示的資料太長,一個表格放不下,則需要自動換行,選中要更改的表格(要顯示動態內容的欄位),設定屬性Stretch with overflow 為鉤選狀態。 未勾選之前: 勾選之後: 2、但是,表格出現斷層的情況
ORACLE資料庫欄位型別說明
型別 含義 儲存描述 備註 CHAR 固定長度字串 最大長度2000bytes VARCHAR2 可變長度的字串,