簡體   English   中英

SQL查詢在工作台中工作,但在Java中給出語法錯誤

[英]SQL Query works in workbench but gives syntax error in java

我在sql Workbench和java的executeUpdate()方法中都運行了查詢:

在工作台中:

INSERT INTO recentsearches (name) VALUES ("blah");

在Java中:

statement.executeUpdate("INSERT INTO recentsearches (name) VALUES (\""+name+"\""));

假設名稱=“ blah”。 但是我在Java中運行查詢時遇到語法錯誤,我已經檢查了字符串值的名稱。 它絕對是“ blah”,我沒有忘記字符串值周圍的語音標記,但仍然出現語法錯誤。

我在控制台中收到的錯誤是:

檢查與您的MySQL服務器版本相對應的手冊,以在第1行的''附近使用正確的語法

嘗試使用:

"INSERT INTO recentsearches (name) VALUES("+name+")"; 

我的建議使用PreparedStatement,因為它具有:

-SQL語句的預編譯和數據庫側緩存可提高整體執行速度,並能夠批量重用同一SQL語句。

通過內置對引號和其他特殊字符的轉義,自動防止SQL注入攻擊。 請注意,這要求您使用任何PreparedStatement setXxx()方法來設置值

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM