我是SQL新手。每当我尝试执行以下代码时,它都会给出MySQLSyntaxErrorException。请帮助!!
Connection Conn_Save = null;
PreparedStatement Pst_Save = null;
Conn_Save = MysqlConnect.ConnectDB();
String UserName = "pv";
String CreateSql = "Create table if not exists ? (Col_Date Date, Col_Break Varchar(20),Col_Lun Varchar(20),Col_Snack Varchar(20),Col_Dine Varchar(20))";
Pst_Save = Conn_Save.prepareStatement(CreateSql);
Pst_Save.setString(1, UserName);
Pst_Save.execute();
答案 0 :(得分:0)
我担心数据库不会像这样工作 - 当你准备一个sql语句时,语句的结构必须在那里(特别是你需要预先指定表,列等 - 只有DATA可以是使用占位符分配。)
这种限制是合乎逻辑的,因为DBMS必须在准备时解析SQL以构建优化查询。
如果你想实现你正在尝试的东西,你必须使用每个新表的字符串中包含的参数化表来构建动态sql字符串。然后只需使用正常的执行。