如何使用Java插入MySQL数据库



我想将从用户那里获取的输入插入MySQL数据库,连接正确,但插入给了我错误

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have 您的 SQL 语法错误;检查与您的手册相对应的手册 MariaDB 服务器版本,用于在"u_fname"附近使用的正确语法, "u_lname"、"u_uname"、"u_pass"、"u_age"、"u_adderess"( 值("20"、"o" 在 1 号线

我的代码是:

public void adduser(User s) {
try {
sql = "insert into users ('u_fname', 'u_lname', 'u_uname', 'u_pass', 'u_age', 'u_adderess')"
+ "values('" + s.getFirstname() + "','" + s.getLastname()
+ "','" + s.getUsername() + "','" + s.getPassword() + "','" + s.getAge() + "','" + s.getAdderss() + "')";
stmt = conn.createStatement();
int i = stmt.executeUpdate(sql);
if (i > 0) {
System.out.println("ROW INSERTED");
} else {
System.out.println("ROW NOT INSERTED");
}
} catch (Exception e) {
System.out.println(e);
}
}

要插入 mysql,请按照以下步骤操作-

  1. 创建到示例 MySQL 数据库的 Java 连接。我相信你已经照顾好了。会是这样的——

    String myDriver = "org.gjt.mm.mysql.Driver";
    String myUrl = "jdbc:mysql://localhost/test";
    Class.forName(myDriver);
    Connection conn = DriverManager.getConnection(myUrl, "root", "");
    
  2. 使用 Java PreparedStatement 创建 SQL INSERT 语句 语法。您的 PreparedStatement SQL 语句将遵循以下格式-

    String sql = " insert into users (first_name, last_name, date_created, is_admin, num_points)"
    + " values (?, ?, ?, ?, ?)";
    
  3. 在我们的 Java PreparedStatement 对象上设置字段。它将按-

    PreparedStatement preparedStmt = conn.prepareStatement(sql);
    preparedStmt.setString (1, s.first_name);
    preparedStmt.setString (2, s.last_name);
    preparedStmt.setDate   (3, s.date_created);
    preparedStmt.setBoolean(4, s.is_admin);
    preparedStmt.setInt    (5, s.num_points);
    
  4. 执行 Java PreparedStatement。

    preparedStmt.execute();
    
  5. 关闭我们的 Java MYSQL 数据库连接。

    conn.close();
    
  6. 捕获在此过程中可能出现的任何 SQL 异常。

    catch (Exception e)
    {
    System.err.println("Got an exception!");
    // printStackTrace method 
    // prints line numbers + call stack
    e.printStackTrace();
    // Prints what exception has been thrown 
    System.out.println(e); 
    }
    

最新更新