我在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)
如何解决这个问题?
答案 0 :(得分:0)
问题是该表最初包含4列,但我编辑了create table语句。但由于该表已经存在,因此表中从未实现过更改。所以我首先通过声明删除了表:
DROP TABLE Sequence
然后再次创建表格;这次有3列。