我使用Java和MySQL進行名稱搜索,然後才用於連接Oracle並且一切運行良好,現在我更改爲遷移到MYSQL並查看錯誤..截斷不正確INTEGER值:'%'在Java和MySQL中
MySQL的:
SELECT CAR.ID AS ID,
CAR.NAME AS NAME,
CAT.ID AS CATEGORY_ID,
CAT.NAME AS CATEGORY_NAME,
C.ID AS CITY_ID,
C.NAME AS CITY_NAME,
FROM CARS CAR,
CATEGORY CAT,
CITY C
WHERE LOWER(CAR.NAME) LIKE '%'||LOWER(?)||'%'
AND CAR.CATEGORY_ID = CAT.ID
AND D.CITY_ID = C.ID
ORDER BY CAT.NAME, CAR.NAME
當部署和調試進行搜索查詢,它發生了一個錯誤:
日誌消息:
SqlExceptionHelper - SQL Error: 1114, SQLState: HY000
SqlExceptionHelper - The table 'C:\Windows\TEMP\#sql730_a_47' is full
HibernateUtils - error at HibernateUtils.getListResult: could not extract ResultSet
SqlExceptionHelper - SQL Warning Code: 1292, SQLState: HY000
SqlExceptionHelper - Truncated incorrect INTEGER value: '%'
SqlExceptionHelper - SQL Warning Code: 1114, SQLState: HY000
SqlExceptionHelper - The table 'C:\Windows\TEMP\#sql730_a_47' is full
MySQL表示:
#1064 - 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 '?)||'%'
AND CAR.CATEGORY_ID = CAT.ID at line 50
我怎樣才能解決這個問題?非常感謝
你需要使用CONCAT進行連結PLZ刪除|| – Rams
你的代碼循環如何? –
注意:我刪除了Oracle和PL/SQL標籤。該錯誤是MySQL錯誤,因此代碼顯然是MySQL代碼。 –