トップページ⇒db
985コメント265KB

SQLite 9

■ このスレッドは過去ログ倉庫に格納されています
0001NAME IS NULL2011/02/27(日) 01:22:40.55ID:???
サーバの要らない軽量データベース SQLite についてのスレです。

SQLite Home Page
http://www.sqlite.org/
0153NAME IS NULL2011/05/19(木) 16:30:09.82ID:???
>>152
馬鹿はあなたですよ。ふふっ
0154NAME IS NULL2011/05/22(日) 19:20:36.24ID:???
          / : : : : : : : : : /: : : : : :` : : : : : ヽ:\
       // : : : : : : : : : /\ : : \: : : : : : : : v:ハ、  な…何なのこの雰囲気…
        : : : : : : : /: : /  丶: : : : : : : : : : : ハ|V{ハ このままじゃあ皆…
       ii : : : : : : : : : /      }: : : : : : : : : : i:i:|ivi:リ
       |i : : : i : : i : :, ー=-‐':|`ヽ:i: : : : : : じじハ
       |i : : : | : :ハ:i|      j|  jハ : : : : |: |i i|ハ, . ヘ、
        ハ : : :iiハi:{ 八     '"芹示 |: : : : ハ: じj/: : : : : ヽ
        V :ハ从,茫ミ、     v:ツ | : : ,/,ハ: V: : : : : : : :/}
          i爪: :\ vリ       ....::::::: ノ : :/r' У: : : : : ,ィ彡'  ,. ヘ、
         ` ミ;ゝ.:: ,        `ー彡|_/: : : : : :/ _/ : : : : :ヽ
            丶    、..:::)   /  |�Y: : : : : :/_,ィ勿' : : : : : ,ィ刋
           ,. :'" > . _ . r: ´   / 丶: : : : i三彡': : : : : :ムィ'"
             / : : : : : :_:_:_:_,≪r‐一 ´   / ̄ ̄ ̄`'く: : : : : :/
             ヽ : r<´ ̄ ̄i i| ,ィー…<   /       \: : /   /
0155NAME IS NULL2011/05/22(日) 22:11:58.40ID:???
円環さんは理に還ってくれ
0156NAME IS NULL2011/05/24(火) 16:06:03.32ID:???
SQLiteファイルを分割保存して、一つのSQLとして処理する方法はないでしょうか?
0157NAME IS NULL2011/05/24(火) 18:49:17.52ID:???
>>156
アタッチできますよ。
0158NAME IS NULL2011/06/05(日) 07:56:33.34ID:zgB9UHdm
ほしゅ
0159 忍法帖【Lv=35,xxxPT】 2011/06/05(日) 11:41:52.36ID:???
a
0160NAME IS NULL2011/06/07(火) 15:30:44.24ID:js37uI9c
環境
MacOSX
sqlite3
apache2
perlでCGI
DBD::sqlite
というDBにコネクトしてる状態で
my $insert = "insert into space(hoge) values ('hoge');";
$dbh->do($insert);
などinsert文を実行しようとしたらエラーがでます、select文などは問題ないのですがいったい何が原因なんでしょうか?
0161NAME IS NULL2011/06/07(火) 15:56:20.23ID:???
アクセス権とか?
0162NAME IS NULL2011/06/07(火) 21:46:42.26ID:???
>>160
エラーが出ますって
エラーメッセージって出ないの?
0163NAME IS NULL2011/06/07(火) 23:41:45.42ID:???
>>162
エラーメッセージは出てないんじゃないかな、たぶん
エラーメッセージの出し方から教えてあげるといいよ
0164NAME IS NULL2011/06/08(水) 00:21:54.87ID:???
$dbh->do($insert) or die $dbh->errstr;
でerrorlogをチェックするとか、
$dbh->trace(1, 'trace.log');
でログを吐くとか。
0165NAME IS NULL2011/06/08(水) 00:49:40.12ID:???
環境
sqlite3
Android2.2

アンドロイドで作ったアプリでCSV1からDB1を作成しました。
その後、CSV1の更新ファイルであるCSV2から同じ手順でDB2を作成しました。

CSV2はCSV1のデータをすべて含んでおり、かつ、4行分登録されるデータが多いです。
ところが、作成したDB1とDB2を比べると、データ数の少ないDB1の方がDB2より9k程大きいのです。

データが欠けていないかと、DBファイルをダンプして比較しましたが、
データ自体に欠けはなく、DB2はきちんとCSVの差分だけDB1より多くデータを持っていました。

こういったことが起こる原因について、ご教示願えないでしょうか?
0166NAME IS NULL2011/06/08(水) 03:03:38.83ID:???
>>165
データ量にあわせてDBも大きくなるけど、小さくはならない
アプリがどうやってるかしらんけど、なんか本来のデータとは
別に裏でデータを追加したり削除してるから大きくなった。
0167NAME IS NULL2011/06/08(水) 12:48:00.72ID:yzo9cLWq
エラーメッセージは
[error] [client ::1] DBD::SQLite::st execute failed: unable to open database file(14) at dbdimp.c line 403 at ***.cgi
です
どういう意味でしょうか?
0168NAME IS NULL2011/06/08(水) 12:57:15.42ID:???
「***.cgiの403行目の処理の時点で指定されてるデータベースファイルが開けねーよボケ」

見たまんまなわけだが。
0169NAME IS NULL2011/06/08(水) 13:03:26.83ID:yzo9cLWq
すいません line 14 が抜けてました
[error] [client ::1] DBD::SQLite::st execute failed: unable to open database file(14) at dbdimp.c line 403 at ***.cgi line 14
0170NAME IS NULL2011/06/08(水) 13:05:33.32ID:yzo9cLWq
そして14行目です
my $insert = "insert into space(hoge) values ('hoge');";
$dbh->do($insert);
0171NAME IS NULL2011/06/08(水) 13:12:20.28ID:???
自分でデバッグする気はないようだなw
0172NAME IS NULL2011/06/08(水) 13:12:35.06ID:???
いや、そこだけ見せられてもw
DBIで宣言したsqliteのDBファイルが存在しないんじゃないの?
0173NAME IS NULL2011/06/08(水) 20:05:30.16ID:???
Google翻訳:
失敗し、実行:*** cgiの14行でdbdimp.c403行でデータベースファイル(14)を開くことができません
0174NAME IS NULL2011/06/14(火) 00:56:06.64ID:???
ちょっと教えてください
phpで@sqlite_openで作ったファイルをPupSQLiteで開こうとすると
暗号化されたファイルです。とか出て開くことができませんが、sqlitecc3jだと普通に開けます。
で、PupSQLiteでファイルを作成して、@sqlite_openで読もうとするとエラーになってしまいます。

これはPupSQLiteがあんまり良くなくて、読み込みや保存がうまくできないということでしょうか?
0175NAME IS NULL2011/06/14(火) 02:02:55.30ID:???
とりあえずそのPupSQLiteとやらの作者に聞いてみれば?
0176NAME IS NULL2011/06/14(火) 04:17:56.13ID:???
>>174
PHPは詳しくないんだが、確かPHPでのSQLite接続方法は2つあるはず
片方がSQLite2形式でもう片方がSQLite3形式
でPHP製のSQLiteManagerのソースを検索してみたらsqlite_open関数はSQLite2用らしい

SQLiteCC3JはSQLite2とSQLite3に対応していて
PupSQLiteはSQLite3のみに対応しているからそのせいだね
0177NAME IS NULL2011/06/15(水) 22:20:13.52ID:???
調べてみた所、その通りでした。
しかし、phpの関数を変えてもロリポップはsql3が使えなかったんでsql3使えるレンタルサーバー探してみます。
PupSQLiteは使い勝手がいいんで、こっちに問題がなくて良かったです。
ありがとうございます。
0178NAME IS NULL2011/06/19(日) 14:29:00.42ID:???
SQLiteを複数プロセスから扱う場合、
トランザクションの前後でflockすればいいのか?
0179NAME IS NULL2011/06/19(日) 16:07:54.28ID:???
>>178
そんな必要はない
自動的にロックされる
0180NAME IS NULL2011/06/19(日) 20:53:01.04ID:8vVW7TIm
自作アプリケーションで使用する独自ファイル内の一部分にsqliteのデータベースを
内包させることを検討しているのですが、何か方法はありませんでしょうか?

ファイルの該当部分をメモリ上に読み込み、それをsqliteのAPIから利用できる形に
することが出来れば良いと思うのですが、具体的な手段が思いつかず…。
(イメージとしては、インメモリDBとして展開/保存、メモリ上のsqliteデータをopen/close、等々...)

なお、ファイルフォーマットは、以下のようなものを考えています。
 [独自ファイルヘッダ][独自ファイルデータA][SQLiteデータ][独自ファイルデータB][独自ファイルフッダ]

言語はC、OSはLinuxを考えていますが、将来的にWindowsも視野に入れるかもしれません。
0181NAME IS NULL2011/06/19(日) 22:31:00.94ID:???
RAMディスク作ってコピんのが一番楽だろ
0182NAME IS NULL2011/06/20(月) 08:20:15.17ID:???
>>180
起動時にSqliteをiin-memoryとして接続し、shema作ってやればいいんじゃないの?
01831802011/06/20(月) 19:25:23.30ID:fmQ7dwYy
>>181
ありがとうございます。
RAMディスク上に展開したものを普通にsqlite3_open、ということでしょうか。
対象がRAMディスクが使える環境ばかりでは無いので、別の方法を検討します…。

>>182
ありがとうございます。
アプリケーションでschemaを決め打ちにしておいてインメモリDBを作成し、
ファイルから読み込んだデータをインメモリDBへ流し込む、というイメージでよろしいでしょうか?
ファイルにあるデータをインメモリDBへ展開する手段が想像できないので、
お手数ですが、もう少し詳しく説明していただけると助かります。
0184NAME IS NULL2011/06/20(月) 19:38:11.53ID:???
そんなんファイルの形式次第だからkwsk言われてもな
01851802011/06/20(月) 21:03:52.34ID:fmQ7dwYy
言葉足らずですみません。
私の理解力不足で、>>182氏の言っている内容から、
>起動時にSqliteをiin-memoryとして接続し、shema作って
何を「やれば」良いのかが読みとれなかったため、質問させていただきました。

なお、SQLiteデータ格納部分のファイル形式は、何か詳細なイメージがあるわけではなく、
アプリケーションから読み込み、最終的にsqliteのAPIから使用できれば何でも良いと考えています。
0186NAME IS NULL2011/06/20(月) 21:48:44.68ID:???
わざわざ内包する意味は?
どうしても内包したいんだったら、起動時に/tmpにでもコピっとけよ
0187NAME IS NULL2011/06/20(月) 21:52:58.16ID:???
>>185
Sqlite dbをキャッシュとして使用する発想です。
ファイルの内容をin-memory dbに取り込む。
データの更新は、SqliteのAPIは基本SQLの実行以上のことはできなかったと思う(もしかしたら、ユーザー定義関数を使用すればできるかもしれない)ので、このin-memory dbに対してSQLを発行(insert, update, delete)して行う。

最終的にファイルに保存する際、in-memory dbの内容をselect文で抽出し書き込む。

in-memory dbの作成(接続)は、openする時にファイルパスの代わりにmemoryって文字列を渡せばよかったはず(うろ覚えなのでドキュメントで確かめてね)
01881872011/06/20(月) 21:57:32.48ID:???
ちなみに、ここまでするメリットがあるかどうか分かりません。

なせわざわさsqliteに取り込むのか?そこを説明してもらえれば、別の解決策を提示できるかもしれません。
01891872011/06/20(月) 22:01:52.68ID:???
例えば、初めからSqliteのdbファイルに保存しておき、元のファイルへは、exportするよう作りをかえるとか....
0190NAME IS NULL2011/06/21(火) 05:28:32.98ID:???
今までDB未使用で自分でファイルに書き出してた人でしょ?
まぁ、一回騙されたと思ってサンプルどおりに実装してみなよ
01911802011/06/21(火) 19:19:51.52ID:???
>>186-189
皆様ありがとうございます。
ファイル内に取り込みたい最大の理由はファイルの互換性です。

過去に作成したアプリケーションにおいて、以下のようなファイルフォーマットを使用しているのですが、
 [独自ファイルヘッダ][独自ファイルデータA][独自ファイルデータB][独自ファイルフッダ]

アプリケーションの新バージョンを作るにあたって、内部でSQLiteの使用を検討しており、
データ保存の際にはSQLiteのDBも含めて書き出したいため、以下のようなフォーマットを思いついた次第です。
 [独自ファイルヘッダ][独自ファイルデータA][SQLiteデータ][独自ファイルデータB][独自ファイルフッダ]

※過去バージョンの仕様上、新バージョンで書き出したファイルを開く場合は、SQLiteのDB部分を無視し、
 その他のデータ部分のみ参照/編集することが可能、保存の際はSQLiteのDB部(というより未定義部分)はそのまま書き出す。

別ファイル展開も選択肢の一つとして考えていないわけでは無いのですが、そこにデータがあるのに同じ物を展開して
再オープン、というのはどうもスマートではない気がするので、直接読み込む方法を模索している、といった状況です。

>>190
過去スレにそういう人がいたとしたら(いたっけ…?)人違いです。すいません。
サンプルとは…?
0192NAME IS NULL2011/06/21(火) 22:28:50.32ID:fvG5wZhx
>>191
UZEE
0193NAME IS NULL2011/06/21(火) 23:57:48.48ID:???
>>191
センス無いね
そもそも[SQLiteデータ]って何よ?
それに過去バージョンでSQLiteデータとやらを読み飛ばして作業したら、整合が取れないじゃないか
0194NAME IS NULL2011/06/22(水) 00:25:23.69ID:???
ここでsqliteネタをウゼーウゼー言ってるとまたaccess厨が沸くぞw

>>191読んでやりたい事は分かったが俺には思いつかねえw
本体に手を入れてまんまダンプする関数を増やす、とか...   orz
0195NAME IS NULL2011/06/22(水) 00:57:56.29ID:???
>>193
2chでセンスを求めちゃイカンw
>アプリケーションから読み込み、最終的にsqliteのAPIから使用できれば何でも良い
ってあるから、そういうデータなんじゃね?w
例えばsqliteファイルをtar玉ごとメモリに読み込んでdbハンドラに繋げるようなイメージをエスパーしてるが正解かは知らんw

>>194補足
↑のイメージならin-memory dbをそのままダンプしてやってファイルに収める仕掛けを実装すれば
いけるんじゃネーノ?とか思ってるけどsqlite.cを読んだことがないヘタレだから出来るのかはワカランorz
0196NAME IS NULL2011/06/22(水) 01:40:33.29ID:???
>>194-195
昔DRHが近いネタをsqlite-usersに書いてたような気がする。
記憶違いだったらすまん。
0197NAME IS NULL2011/06/22(水) 17:48:46.52ID:???
>>191
DBサイズが固定なら出来る
サイズが変更されるなら当然無理
0198NAME IS NULL2011/06/22(水) 17:51:13.07ID:???
プログラムの改造無しでやる方法を思いついた
Linux限定だけど
0199NAME IS NULL2011/06/22(水) 19:58:32.98ID:???
開発環境 VS2008で
アタッチってできますか?
アタッチはできたみたい(リターン:0)
ですが いざSELECTすると no such table
になってしまいます。。。。

cmd = New SQLiteCommand("ATTACH '" & strdbname & "' AS '" & strname & "'", Me.conn)
cmd.CommandType = CommandType.Text

'SQL実行
intResult = cmd.ExecuteNonQuery()
cmd = New SQLiteCommand
cmd = Me.conn.CreateCommand
cmd.CommandText = "SELECT tablename FROM PDA.tblInfo"
'SQL実行結果をデータセットに格納
Dim adp As SQLiteDataAdapter
adp = New SQLiteDataAdapter(cmd)
 エラー→  adp.Fill(ds)
0200NAME IS NULL2011/06/22(水) 22:21:20.96ID:???
osのファイルキャッシュに載せるんだろ?
0201NAME IS NULL2011/06/22(水) 22:22:07.45ID:???
しまた
>>198ね
0202NAME IS NULL2011/06/22(水) 22:27:07.50ID:???
ん、何かちんぷんかんぷんなこと言ってるな俺
0203NAME IS NULL2011/06/22(水) 22:28:17.75ID:???
>>197
ヘッダフッタがあるから問題なくね?
普通にできると思うけど全体で見たら遅すぎて話にならない
0204NAME IS NULL2011/06/22(水) 22:34:44.79ID:???
その部分だけinmemoryDBに載せられるんなら速度は気にするほどでもないような?
0205NAME IS NULL2011/06/23(木) 00:41:08.76ID:???
どうしても独自フォーマットのファイルを使いたいなら
SQLをdumpして保存したらいいよ。圧縮くらいはしたほうがいいかもな
使うときは、:memoryにimportね
0206NAME IS NULL2011/06/23(木) 19:40:16.74ID:???
>>205
毎回DB作り直すのかよ
0207NAME IS NULL2011/06/25(土) 03:25:45.33ID:???
>>191
普通に独自ファイルデータとやらをSQLiteDBに突っ込めよ糞ウンコちゃん
0208NAME IS NULL2011/06/25(土) 12:29:25.66ID:???
>>206
インメモリDBなら当然だろ。
0209NAME IS NULL2011/06/25(土) 12:30:11.54ID:???
>>207
頭悪そうw
0210NAME IS NULL2011/06/25(土) 21:27:06.64ID:???
独自データのファイルサイズにもよるから一概に言えないど、
ひとつの方法ではあると思うぞ。

頭悪そうと思った理由書いてくれないかな。
0211NAME IS NULL2011/06/25(土) 22:50:59.86ID:???
>>210
俺は209ではないが、
・スレをちゃんと読んでいる場合
→日本語の理解能力が足りない。頭悪そう。
・スレをちゃんと読んでいない
→常識のない人間。頭悪そう。
・いずれの場合でも
→言葉遣いが明らかに頭悪そう。

っていうことだと思うよ。
0212NAME IS NULL2011/06/25(土) 23:08:30.19ID:???
>>211
要するに「頭悪そう」って書きたかっただけなのか。

それこそ頭悪そうだなw
0213NAME IS NULL2011/06/25(土) 23:43:17.66ID:???
3.7.7.0 ビルドでけた
02141802011/06/26(日) 00:22:51.21ID:???
>>194-196
近いネタですかー。mail-archiveあたりで探してみようと思います。
ありがとうございます。

>>205-206
DBのサイズが大きい場合の速度は確かに気になりそうですが、
shell.cのdump_*関数を流用するだけで済みそうなので実装は簡単そうですね。
ありがとうございます。

>>207
それが簡単なのは認識しているのですが、前述の通り互換性の問題から
(前バージョンで開けないファイルになる)選択肢には入れていないのです…。
ありがとうございます。


センスと初期設計がまずいのは自覚しております…。
ヒントを沢山いただいたので、この先は自力で頑張ってみます。
皆様色々とありがとうございました。
0215NAME IS NULL2011/06/26(日) 00:55:38.27ID:???
ぶっちゃけアプリ側のデータ提供部分で吸収してしまえばいいだけだと思うんだが・・・
なぜデータまでまとめようとするのか
旧ver→独自ファイルのみ、新ver→独自ファイル+DB
それだけの話じゃねーの?
0216NAME IS NULL2011/06/26(日) 01:00:51.50ID:???
データファイルを単一にしたいと言うことなんだろうとエスパーしてみる。
0217NAME IS NULL2011/06/26(日) 01:29:39.01ID:???
>>214
意味不明な前方互換にこだわるな

ほんの少し調べりゃdumpが真っ先に見つかるだろボケ

その汚物の様なセンスを人前にさらすな
0218NAME IS NULL2011/06/26(日) 01:48:18.70ID:???
まあ案件によっては前方互換が必須とか結構あるけどね。
そういう話なのかは知らないけどw
0219NAME IS NULL2011/06/26(日) 02:17:55.21ID:???
>>216
言いたい事はわかるが・・・それはどうしても外せない要件ではないだろうし
初期設計どうこう言えないクソ設計としか言いようがない
0220NAME IS NULL2011/06/26(日) 03:29:30.63ID:???
>>219
顧客がアホなんだろ。たぶん。
0221NAME IS NULL2011/06/26(日) 05:24:04.50ID:???
> センスと初期設計がまずいのは自覚しております…。
と言ってるんだから別に顧客からの要求じゃなくて自己満足によるものだろ
0222NAME IS NULL2011/06/26(日) 08:36:18.68ID:???
顧客が絡んでるかどうかはわからんし、前方互換がどこまで必須かもわからない。

でも、他人がとやかく言う話じゃないと思う。
0223NAME IS NULL2011/06/26(日) 13:21:19.87ID:???
変態行為をやろうとしてる奴に動機を聞いてるだけで、とやかく言ってるわけじゃないんだが
0224NAME IS NULL2011/06/26(日) 19:00:04.17ID:???
>>223
動機を聞く ってのがまず余計なお世話なんだよな
「お前のためだから」 って態度がむかつくわ
0225 忍法帖【Lv=14,xxxPT】 2011/06/26(日) 20:28:23.44ID:???
YouTubeやニコ動などのヘビーなサイトでもSQLiteって平気ですか?
0226NAME IS NULL2011/06/26(日) 20:31:20.11ID:???
1ファイル1テーブル
1ファイル1データベース

運用方法としては後者が正しいと思いますが、
やたらdbファイルができるシステムを組んでる人がいて、
中身みてみたら1ファイル1テーブルになっていました。
なんか1ファイル1テーブルにする理由とかあるんでしょうか?
0227NAME IS NULL2011/06/26(日) 21:08:14.58ID:???
>>226
>やたらdbファイルができるシステムを組んでる人がいて、
>中身みてみたら1ファイル1テーブルになっていました。
>なんか1ファイル1テーブルにする理由とかあるんでしょうか?

その人に聞いてみたらいいんじゃね。
0228NAME IS NULL2011/06/26(日) 23:03:39.16ID:???
>>225
あまり平気ではない。
DBが壊れてたりとかは無いけど、パフォーマンスは悪い。
0229NAME IS NULL2011/06/26(日) 23:49:43.55ID:???
>>228
>あまり平気ではない。
>DBが壊れてたりとかは無いけど、パフォーマンスは悪い。

ん?「YouTubeやニコ動などのヘビーなサイト」を SQLite
で運用したことあるってことか?

マジなら漢だと思う。
0230NAME IS NULL2011/06/27(月) 00:20:05.19ID:???
>>226
あれ?SQLiteってファイル単位で排他制御が行われるんじゃなかったっけ?
0231NAME IS NULL2011/06/27(月) 01:22:45.67ID:???
>>229
もしかしてSQLiteがファイルロックってことすら知らないの?
0232NAME IS NULL2011/06/27(月) 13:40:00.83ID:???
なにいってんだーw
0233NAME IS NULL2011/06/28(火) 15:35:20.60ID:???
SQLiteのロックって割と信用できないからな・・・
0234NAME IS NULL2011/06/29(水) 02:55:09.13ID:???
シングルユーザーシングルスレッドで使えば問題ない?
0235NAME IS NULL2011/06/29(水) 07:59:11.70ID:???
マルチでも問題ねえよ
0236NAME IS NULL2011/06/30(木) 06:00:31.88ID:???
3.7.7.1
0237NAME IS NULL2011/06/30(木) 12:39:52.57ID:???
ネットワーク越し、Winの共有フォルダとかNFSとか
だと状況によっては・・・
0238NAME IS NULL2011/06/30(木) 18:02:52.64ID:/Ojq8+Ij
MacのターミナルでDBのテーブルにcsv形式のファイルとインポートするときに、
「expected 32 columns of data but found 40」というエラーが出ます。
どうすればインポート出来ますでしょうか。
ご教授願います。
0239NAME IS NULL2011/06/30(木) 18:27:34.21ID:???
カラム数があっていないと書いてある
0240NAME IS NULL2011/06/30(木) 20:34:40.33ID:???
ネタかと思うほどのあほ
0241NAME IS NULL2011/06/30(木) 21:00:10.06ID:???
>>239は優しいな
0242NAME IS NULL2011/06/30(木) 21:01:10.90ID:???
>>240のアホさが際立ってるな
0243 忍法帖【Lv=12,xxxPT】 2011/07/01(金) 15:02:43.25ID:???
ちんこ
0244NAME IS NULL2011/07/02(土) 20:46:20.78ID:???
SQLコマンドを毎回ターミナルから入力しているのですが
楽をする方法はありませんか?
0245NAME IS NULL2011/07/02(土) 21:09:03.36ID:???
SQLコマンドーはファイルに書いておいて
コマンドーラインからリダイレクトで流してもいい。
0246NAME IS NULL2011/07/02(土) 21:22:24.44ID:???
映画見とる場合かーっ
0247NAME IS NULL2011/07/02(土) 21:23:43.16ID:???
リダイレクトで流してもいいと言ったな。あれは嘘だ。
0248NAME IS NULL2011/07/02(土) 21:52:13.69ID:???
>>244
ファイルに入った SQL の実行
.read <ファイル名>

http://www.kkaneko.com/rinkou/sqlite/sqlitecommand.html#eq_4
0249NAME IS NULL2011/07/05(火) 20:34:20.66ID:???
SQLiteってデッドロック起きるんですか?
0250NAME IS NULL2011/07/05(火) 21:02:16.76ID:???
MySQLからの移行を考えています。
test.sqliteというファイルを作ったら、
これはrootでcreate database testをしたということでいいんでしょうか?
それでtest.sqliteに、テーブルを作っていくわけですが、
create table a (
) encoding=utf8 collate utf8_unicode_ci;
みたいのはどうしたらいいんでしょうか?

pragma encoding="UTF-8";

create table a (
);

create table b (
);
のようにやっていき、

SELECT時にも最初に、

pragma encoding="UTF-8";
と入れればいいのでしょうか?
0251NAME IS NULL2011/07/06(水) 18:00:39.42ID:???
varchar(10)とやっても11文字でも普通にinsertできてしまうんですが、
プログラム側でしっかりチェックしろっていうことでしょうか?
check(length(col<=10))とか制約いれてもエラーにはならないようですが
11文字以上でも普通に入ってしまいます
0252NAME IS NULL2011/07/06(水) 23:32:23.92ID:???
>>251
varcharだのintだのってのはただの飾りですから
■ このスレッドは過去ログ倉庫に格納されています