OVH Cloud OVH Cloud

Erreur avec DBD::SQLite

1 réponse
Avatar
Srand
Salut,

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

Merci d'avance.

1 réponse

Avatar
Srand
apparemment c'est plus une erreur sqlite3 que perl.