本文介紹了無法在MySQL中使用預準備語句創建數據庫的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!
問題描述
我正在嘗試使用MySQL中的預準備語句創建數據庫。這里我傳遞的參數如下所示。
PreparedStatement createDbStatement = connection.prepareStatement("CREATE DATABASE ?");
createDbStatement.setString(1, "first_database");
createDbStatement.execute();
connection.commit();
但我收到一個語法錯誤。是否可以使用預準備語句創建表和數據庫?
PreparedStatement
中的
推薦答案
只能用于綁定值(例如where
Conditions On Invalues
子句),而不是對象名稱。因此,您不能使用它綁定數據庫的名稱。
您可以使用字符串操作來添加數據庫名稱,但在這種情況下,使用PreparedStatement
確實沒有什么好處,您應該改用Statement
:
String dbName = "first_database";
Statement createDbStatement = connection.createStatement();
createDbStatement.execute("CREATE DATABASE " + dbName);
這篇關于無法在MySQL中使用預準備語句創建數據庫的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,