java SQL插入引号错误
int rs = stmt.executeUpdate("INSERT INTO Leden VALUES (null,"+u+","+p+",'1')");
我发现了错误
java.sql.SQLException: Unknown column '(the U variable)' in 'field list';
我确信这是100%的“错误”,但我似乎找不到哪里出了问题 感谢您的帮助
这就是我的全部方法(我想学习如何用事先准备好的语句来完成)
public static void connectionDB(String u, String p, String f){
{
try {
String username = "/////////";
String password = "///////";
String url = "///////////////";
Connection connection = DriverManager.getConnection(url, username, password);
Statement stmt = connection.createStatement();
int rs = stmt.executeUpdate("INSERT INTO Leden VALUES (null,'"+u+"','"+p+"','1')");
} catch (SQLException e) {
e.printStackTrace();
}
System.out.println("Database connected!");
}
}
# 1 楼答案
应该是这样的
更新:-
你也可以查看准备好的声明,因为
当您必须使用不同的数据多次运行同一条语句时,准备好的语句要快得多。这是因为SQL只会验证查询一次,而如果只使用语句,每次都会验证查询
假设字段是A、B、C、D; A是int,余数是字符串
# 2 楼答案
应该是的
# 3 楼答案
问题是
"
在SQL中用于列或表之类的对象,而'
用于字符串。所以在+u+中,它似乎不存在于您的查询上下文中因此,您的查询本身应该类似于
+u+
和+p+
是字符串如果你需要在你的专栏里有
"
,它应该是这样的此外,我建议指定要插入的列,使其看起来类似于:
这将防止在通过另一列扩展表定义时查询失败
此外,在这里使用预先准备好的语句可能是一个好主意,因为它有助于防止SQL注入