违反了唯一约束?

时间:2014-03-29 08:52:35

标签: java jdbc

我试图更新表格:

create table Out_Patient(Patient_ID number(8) primary key ,
First_Name varchar2(20) ,
 Last_Name varchar2(20) ,
Gender varchar2(10) , 
Mobile_Number number(12) ,
 Address varchar2(20),
 Date_Of_Birth Date , 
Date_Of_Entry Date)

与foll。代码:

PreparedStatement st= con.prepareStatement("Update Out_Patient Set Patient_ID=?,First_Name=?,Last_Name=?,Gender=?,Mobile_Number=?,Address=?,Date_Of_Birth=?,Date_Of_Entry=?");
String t1=text1.getText();
        int id=Integer.parseInt(t1);
        String t2=text2.getText();
        String t3=text3.getText();
        String t4=text4.getText();
        String t5=text5.getText();
        String t6=text_dob.getText();
        String t7=text_doe.getText();
        String s1=combo_gender.getSelectedItem().toString();
             st.setInt(1,Integer.parseInt(t1));
         st.setString(2,t2);
         st.setString(3,t3);
        st.setString(4,s1);
        st.setString(5,t5);
        st.setString(6,t4);
        st.setString(7,t6);
        st.setString(8,t7);

            st.executeUpdate();

但是我得到了ORA-00001:违反了唯一约束。 我知道Patient_ID是表中的主键,但在输入详细信息时,我保持与表中的相同。应该进行哪些更改。 请帮忙!! 感谢..

1 个答案:

答案 0 :(得分:1)

您的JDBC更新语句中没有WHERE子句,因此您尝试为所有记录设置相同的ID。看一下这个例子:Creating a PreparedStatement Object