Hello,
Ce que je vais te dire ne va ptet pas t'aider beaucoup, mais intrigué par ton soucis j'ai essayé de reproduire ton test et je n'y suis pas arrivé.
Voici mon code (super sommaire):
public class Test {
public static void main(String[] args) throws Exception {
Class.forName("org.sqlite.JDBC");
Connection conn = DriverManager.getConnection("jdbc:sqlite:test.db");
Statement stat = conn.createStatement();
stat.executeUpdate("delete from LigneTelephone where Id not in (select distinct LigneTelephoneId from TelephoneCommunication)");
conn.close();
}
}
Voici la schéma des tables, super simple aussi :
CREATE TABLE LigneTelephone (Id INTEGER PRIMARY KEY);
INSERT INTO LigneTelephone VALUES(1);
INSERT INTO LigneTelephone VALUES(2);
INSERT INTO LigneTelephone VALUES(3);
INSERT INTO LigneTelephone VALUES(4);
INSERT INTO LigneTelephone VALUES(5);
INSERT INTO LigneTelephone VALUES(6);
INSERT INTO LigneTelephone VALUES(7);
INSERT INTO LigneTelephone VALUES(8);
INSERT INTO LigneTelephone VALUES(9);
INSERT INTO LigneTelephone VALUES(10);
CREATE TABLE TelephoneCommunication (LigneTelephoneId NUMERIC);
INSERT INTO TelephoneCommunication VALUES(1);
INSERT INTO TelephoneCommunication VALUES(2);
INSERT INTO TelephoneCommunication VALUES(3);
INSERT INTO TelephoneCommunication VALUES(4);
Donc on est bien d'accord, que la requete doit supprimer tous les enregistrements de 5 à 10 inclus dans la table LigneTelephone.
Pour moi ca a fonctionné et les modifications ont été répercutées sur le fichier test.db
Pour info :
J'utilise une jvm java 1.6.0_11
Je suis sous windows vista
J'ai téléchargé le driver JDBC pour SqlLite à cette url :
http://files.zentus.com/sqlitejdbc/sqlitejdbc-v054.jar
J'espère que ca peut t'aider.
Bonne chance,
Niroken
Hello,
Ce que je vais te dire ne va ptet pas t'aider beaucoup, mais intrigué par ton soucis j'ai essayé de reproduire ton test et je n'y suis pas arrivé.
Voici mon code (super sommaire):
Voici la schéma des tables, super simple aussi :
Donc on est bien d'accord, que la requete doit supprimer tous les enregistrements de 5 à 10 inclus dans la table LigneTelephone.
Pour moi ca a fonctionné et les modifications ont été répercutées sur le fichier test.db
Pour info :
J'utilise une jvm java 1.6.0_11
Je suis sous windows vista
J'ai téléchargé le driver JDBC pour SqlLite à cette url :
http://files.zentus.com/sqlitejdbc/sqlitejdbc-v054.jar
J'espère que ca peut t'aider.
Bonne chance,
Niroken