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






