こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

SQLiteでIF NOT EXISTSの使い方

my $dbh = DBI->connect("dbi:SQLite:dbname=$filename","","");


' CREATE TABLE "sampleTable1" ('
# ' CREATE TABLE IF NOT EXISTS "sampleTable1" ('
.'"samplekey1" INTEGER, "samplekey2" INTEGER'
.' ); '

だと問題ないのですが、
コメント部分ので 生成しようとすると
IF NOT EXISTS をだと
NOTのまえがどうのこうのと エラーになるので
IF NOT EXISTS は 使えないのでしょうか?

SQLiteでIF NOT EXISTSのような使い方がわからないので
接続後に
my @names = $dbh->tables;
$Miteigi_data = 1;
for my $name (@names) {
#  テーブル名比較
if (
($name eq 'sampleTable1')
|| ($name eq '"sampleTable1"')
)
{ $Miteigi_data = 0; }
}

 テーブル名を確認して あるかないのか変数に代入して置いて
 あとから条件文で if ($Miteigi_data) 上のテーブルの生成を行うことにして回避したのですが

dbi:SQLiteで TABLE IF NOT が使えるようにするにはどうしたらいいのでしょうか

投稿日時 - 2005-10-24 10:37:13

QNo.1732274

暇なときに回答ください

質問者が選んだベストアンサー

SQLiteは、TABLE IF NOT構文は使えません。
SQLiteで使える構文については参考URLをご覧下さい。

参考URL:http://www.sqlite.org/lang_createtable.html

投稿日時 - 2005-10-24 12:46:38

お礼

そこも昨日みたのですが、
よくわからなかったので・・・

使えないのですか・・・

めんどくさいですが、 ログイン時に
$dbh->tables; でテーブル名を抽出して
比較対応しておこうとおもいます

ありがとうございました。

投稿日時 - 2005-10-24 17:50:00

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(1)