0
Java程序不檢查SQLite約束?Java程序不檢查SQLite約束?
我有以下表結構和內容
create table Parent
(
ParentID int primary key,
ParentName varchar(30)
)
create table child
(
ChildID int primary key,
ParentID int references Parent,
ChildName varchar(30)
)
insert into Parent values(1,'a');
insert into Parent values(2,'b')
insert into Child values(1,1,'c');
insert into Child values(2,1,'d');
insert into Child values(3,1,'e');
insert into Child values(4,1,'f');
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.List;
public class LiteConn {
public static void main(String[] args) throws SQLException {
// TODO Auto-generated method stub
Connection con=null;
Statement st=null;
ResultSet rs=null;
try {
Class.forName("org.sqlite.JDBC");
con= DriverManager.getConnection("jdbc:sqlite:C:\\Users\\chaitanya\\Documents\\Demo.db");
st = con.createStatement();
int i=st.executeUpdate("delete from Parent where ParentID=1 ");
System.out.println("i "+i);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println(e.getMessage());
}
catch(ClassNotFoundException e1)
{
System.out.println(e1.getMessage());
}
finally {
con.close();
}
}
}
** SQLite的IDE不允許觸發此查詢,但是當我試圖通過這個Java程序,這個查詢執行。
(此刪除查詢試圖刪除父行....)**
是的外鍵支持已經在.. – Chaitanya
不,你的代碼顯示它不是。 –