由于SQL Java

时间:2017-09-28 04:48:33

标签: java sql database

我在Java中创建了一个名为Sequence的数据库。

stmt = dbConn.createStatement();
sql = "CREATE TABLE IF NOT EXISTS Sequence(Seq_Num TEXT Primary Key not null, Seq_ID TEXT, "
       + E_ID TEXT," + "FOREIGN KEY(E_ID) REFERENCES Emitter(E_ID))";
stmt.executeUpdate(sql);

现在我没有将Seq_ID列标记为UNIQUE。

所以当我执行以下语句时:

sql = "INSERT INTO Sequence(Seq_Num, Seq_ID, E_ID) VALUES('" + value + "','" + model.txtSaveAs.getText() 
         + "','" + model.namesList.get(i) + "')";
stmt.execute(sql);

它给了我这个错误:

java.sql.SQLException: [SQLITE_CONSTRAINT]  Abort due to constraint violation (column Seq_ID is not unique)

如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

问题是该表最初包含4列,但我编辑了create table语句。但由于该表已经存在,因此表中从未实现过更改。所以我首先通过声明删除了表:

DROP TABLE Sequence

然后再次创建表格;这次有3列。