JDBC 根据唯一 ID 更新列的特定单元格
JDBC updating specific cells of a column based off of unique id
我正在尝试根据特定用户的唯一用户 ID 更新他们的名字、姓氏和电子邮件。
我正在执行以下查询来执行此操作,但出现异常,提示我的语法不正确。我是 JDBC 和 MYSQL 的新手,但我是这样做的:
PreparedStatement ps = (PreparedStatement) conn.prepareStatement("UPDATE user_table WHERE userTableID = "+ userId+ "(first_name, last_name, email) values (?, ?, ?)");
ps.setString(1, newFirstName);
ps.setString(2, newLastName);
ps.setString(3, newEmail);
ps.execute();
更新:在一些指导下,我决定改为这样做并且它奏效了。
PreparedStatement ps = (PreparedStatement) conn.prepareStatement("UPDATE user_table SET first_name= ?, last_name=?, email=?" + "WHERE userTableID = ?");
ps.setString(1, newFirstName);
ps.setString(2, newLastName);
ps.setString(3, newEmail);
ps.setInt(4, userId);
ps.execute();
更新的正确语法是UPDATE table_name SET column1=value1,column2=value2,...
WHERE some_column=some_value;
试试这个:
PreparedStatement ps = (PreparedStatement) conn.prepareStatement("UPDATE user_table set (first_name, last_name, email) values (?, ?, ?) WHERE userTableID = \""+ userId+ "\"");
试试这个
PreparedStatement ps = (PreparedStatement) conn.prepareStatement("UPDATE user_table set first_name=?,last_name=?,email=? WHERE userTableID = ?");
ps.setString(1, newFirstName);
ps.setString(2, newLastName);
ps.setString(3, newEmail);
ps.setString(4, userId);
ps.executeUpdate();
第二个可能有问题,因为 space 在 email=?
之后提供一个 space,如下所示
PreparedStatement ps =conn.prepareStatement("UPDATE user_table SET first_name= ?, last_name=?, email=? "
+ "WHERE userTableID = ?");
ps.setString(1, newFirstName);
ps.setString(2, newLastName);
ps.setString(3, newEmail);
ps.setInt(4, userId);
ps.execute();
我正在尝试根据特定用户的唯一用户 ID 更新他们的名字、姓氏和电子邮件。
我正在执行以下查询来执行此操作,但出现异常,提示我的语法不正确。我是 JDBC 和 MYSQL 的新手,但我是这样做的:
PreparedStatement ps = (PreparedStatement) conn.prepareStatement("UPDATE user_table WHERE userTableID = "+ userId+ "(first_name, last_name, email) values (?, ?, ?)");
ps.setString(1, newFirstName);
ps.setString(2, newLastName);
ps.setString(3, newEmail);
ps.execute();
更新:在一些指导下,我决定改为这样做并且它奏效了。
PreparedStatement ps = (PreparedStatement) conn.prepareStatement("UPDATE user_table SET first_name= ?, last_name=?, email=?" + "WHERE userTableID = ?");
ps.setString(1, newFirstName);
ps.setString(2, newLastName);
ps.setString(3, newEmail);
ps.setInt(4, userId);
ps.execute();
更新的正确语法是UPDATE table_name SET column1=value1,column2=value2,...
WHERE some_column=some_value;
试试这个:
PreparedStatement ps = (PreparedStatement) conn.prepareStatement("UPDATE user_table set (first_name, last_name, email) values (?, ?, ?) WHERE userTableID = \""+ userId+ "\"");
试试这个
PreparedStatement ps = (PreparedStatement) conn.prepareStatement("UPDATE user_table set first_name=?,last_name=?,email=? WHERE userTableID = ?");
ps.setString(1, newFirstName);
ps.setString(2, newLastName);
ps.setString(3, newEmail);
ps.setString(4, userId);
ps.executeUpdate();
第二个可能有问题,因为 space 在 email=?
之后提供一个 space,如下所示
PreparedStatement ps =conn.prepareStatement("UPDATE user_table SET first_name= ?, last_name=?, email=? "
+ "WHERE userTableID = ?");
ps.setString(1, newFirstName);
ps.setString(2, newLastName);
ps.setString(3, newEmail);
ps.setInt(4, userId);
ps.execute();