当我尝试执行此查询时,出现此错误。
credit_card_num
是主键。
当我在mysql comand行中执行查询时,它可以正常工作。
try {
conn =DriverManager.getConnection(url, unam, pass);
st =conn.createStatement();
st.executeUpdate("update customer
set credit_card_num ='"+ccnumtex.getText()
+"', first_name ='"+fntex.getText()
+"' ,last_name ='"+lntex.getText()
+"' ,gender='"+com.getSelectedItem()
+"', age ='"+agtex.getText()
+"', phone='"+phntex.getText()
+"',email ='"+Emltex.getText()+"' ");
JOptionPane.showMessageDialog(null,"information updated");
} catch(Exception ex)
{
JOptionPane.showMessageDialog(null,ex.toString());
}
答案 0 :(得分:1)
您认为您丢失了“ where”条件和“ update”语句,试图更新表中的所有行,但由于唯一性约束而失败。 并且,请不要对查询参数使用字符串连接,这可能会导致“ sql-inject”错误。