这里我想让用户选择他想要删除的数据
根据我要删除,但如果用户选择重复的数据,那么我想只选择重复。
所以问题是,我不知道用户何时会选择重复数据以及何时会选择非重复数据
任何人都可以帮助我吗?我是mysql的新手
import java.util.*;
import java.sql.*;
class Test {
public static void main(String arg[]) {
try {
String insert = "delete from photo where iname=" + "?";
String image = "done.jpg";
String insertQuery = "insert into photo (iname)" + "values" + "(?)";
String query = "select * from photo";
Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection(
"jdbc:mysql://localhost:3306/mydb", "cubie", "mypass100");
Statement st = con.createStatement();
ResultSet rs = st.executeQuery(query);
while (rs.next()) {
String sname = rs.getString(1);
System.out.println(sname);
}
PreparedStatement pstmt = con.prepareStatement(insertQuery);
pstmt.setString(1, image);
pstmt.executeUpdate();
st.executeUpdate("insert into photo values('principal.jpg')");
st.executeUpdate("insert into photo values('done.jpg')");
pstmt = con.prepareStatement(insert);
pstmt.setString(1, image);
pstmt.executeUpdate();
con.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
答案 0 :(得分:0)
你的问题就在这一行
String insertQuery="delete from photo where iname="+"?";
如果执行此语句,则将删除具有给定图像名称的所有行。如果表中有ID列,则可以重写语句以删除图像的第一个(或最后一个)。像这样:
delete from photo where id = (select min(id) from photo where iname = ?)