私はPerlスクリプトを書くためにSQLite v3を使用しています。 sqliteのバージョンは3.3.6です。私のバージョンのSQLiteでCREATE TABLE IF NOT EXISTSがサポートされていても、DBD :: SQLiteで構文エラーが発生するのはなぜですか?
コマンドラインでsqliteを実行すると動作します。 「NOT」そば:構文エラー(1)ファイルの行2675でdbdimp.cライン268で私はPerlで同じことを行うときしかし、それは
DBD :: SQLiteの:: DBが失敗したか、このエラーが発生します。
これは私がコンソール上に何をすべきかです:
$ sqlite3 test.db
SQLite version 3.3.6
sqlite> create table if not exists DATA_STATUS_VALUE (TYPE TEXT PRIMARY KEY, Seq INTEGER);
sqlite> .tables AllJobs LOCKSTAT_VALUE test_run12_data
DATA_STATUS_VALUE STATUS_VALUE test_run12_lock
のSQLiteのバージョン私はサポートIF NOT EXISTS
を使用していますので、なぜ私はエラーを取得していますか?
これは私のPerlコードです:
#!/usr/bin/perl
use DBI;
my $driver = "SQLite";
$database = "test.db";
$dsn = "DBI:$driver:dbname=$database";
$dbh = DBI->connect($dsn, undef, undef, { RaiseError => 1 });
$dbh->do("CREATE TABLE IF NOT EXISTS DATA_STATUS_VALUE (TYPE TEXT PRIMARY KEY, Seq INTEGER);");
DBite :: SQLiteはどのバージョンのSQLiteを使用していますか? 'perl -E 'はDBD :: SQLiteを使用します。 $ DBD :: SQLite :: sqlite_version'' – ikegami
DB <3> $ DBD :: SQLite :: sqlite_version 3.1.3 –
は、perlでsqliteのバージョンを選択する方法です。私はシステムに何もインストールすることができません –