Je rencontre une erreur bizarre avec le module DBD::SQLite.
Le code suivant passe correctement :
use DBI;
$dbh=3D DBI->connect("dbi:SQLite:dbname=3D./backup.db")|| warn $!;
$dbh->{TraceLevel} =3D "3|SQL";
$req=3D'delete from logs where date not in (select date from logs order
by date desc limit 50)';
$dbh->do($req);
Mais celui-ci bloque le script :
use DBI;
$dbh=3D DBI->connect("dbi:SQLite:dbname=3D./backup.db")|| warn $!;
$dbh->{TraceLevel} =3D "3|SQL";
$req=3D'delete from logs where date not in (select date from logs order
by date desc limit (select nlpurge from settings))';
# bien s=FBr nlpurge=3D50 dans la table settings
$dbh->do($req);
Par contre la requ=EAte passe correctement avec l'interpr=E9teur :
sqlite3 mydb.sqlite "delete from logs where date not in (select date
from logs order by date desc limit (select nlpurge from settings))"
Quelqu'un aurait il une id=E9e ?
PS: j'utilise la version 1.09 du module DBD::Sqlite