我的SQL异常:主键更新查询的重复条目

时间:2018-06-20 13:35:25

标签: java mysql

当我尝试执行此查询时,出现此错误。 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());
}

1 个答案:

答案 0 :(得分:1)

您认为您丢失了“ where”条件和“ update”语句,试图更新表中的所有行,但由于唯一性约束而失败。 并且,请不要对查询参数使用字符串连接,这可能会导致“ sql-inject”错误。