0138NAME IS NULL2013/02/18(月) 12:27:35.69ID:??? コントロールパネルか管理ツールでデータソース(ODBC)というのが あるからそれで作ってやれば一応使えるよ。 ODBCの範囲内だけどな 0139NAME IS NULL2013/02/24(日) 20:28:36.90ID:zXyOLTMR 最近興味があってsqliteを調べてるんですが、 みんなはやはりスマホのアプリ開発の為に利用してるんですか? ざっと調べたところだと、複数のユーザからの頻繁な更新を受けるようなwebアプリの利用は厳しいという 情報を見つけたんだけど、古い情報なのでいまはどうなってるのかわかりません
やっぱりそういう用途では利用しづらいんでしょうか それともなにか解決策が見つかったりしたんでしょうか 0140NAME IS NULL2013/02/24(日) 21:36:06.19ID:??? 今はジャーナルモードかえれば結構余裕 0141NAME IS NULL2013/02/27(水) 13:05:20.84ID:??? sqlite3ってMySQLみたいに
use データベース名
ってできないの? 代替コマンドある? 0142NAME IS NULL2013/02/27(水) 13:43:59.53ID:??? コマンドラインの話ね? 基本的に1ファイル1DBだから必要ないっしょ?
ただ、一度に複数のDBをつなげて違うスキーマとして同時に使うっていうような 面白いことならできる
$ sqlite3 test1.db sqlite> .databases seq name file --- --------------- ---------------------------------------------------------- 0 main /home/hoge/test1.db
sqlite> attach 'test2.db' as 'sub';
sqlite> .databases seq name file --- --------------- ---------------------------------------------------------- 0 main /home/hoge/test1.db 2 sub /home/hoge/test2.db
sqlite> create table main.table1 (id text primary key, val integer); sqlite> create table sub.table1 (id text primary key, val integer); (mainは省略可、テーブル名は被らなければ省略可)
sqlite> insert into table1 (id, val) values (0, 123); sqlite> insert into sub.table1 (id, val) values (123, 456);
sqlite> select t2.id, t2.val from table1 t1, sub.table1 t2 where t1.val = t2.id; 123|456
見たいな。 0143NAME IS NULL2013/03/02(土) 13:28:15.59ID:??? globとlikeってどう使い分けるんでしょうか? globの方が高機能だが速度はシンプルなlikeに劣るって認識であってますか? 0144NAME IS NULL2013/03/03(日) 11:46:23.39ID:??? LIKEは標準、GLOBはSQLite拡張、でいいんじゃね 0145NAME IS NULL2013/03/03(日) 19:03:49.41ID:??? phpから使ってるんだけど PRIMARY KEY AUTOINCREMENTが定義されてるindexフィールドがあるテーブルlogがあります。 そこにinsert into log DEFAULT VALUES;をした場合 その時に作られたindexの番号を取得するにはどうしたらいいの?
即order by desc limit 1しても、その時に作られたと保証はされないですし (同じタイミングで別プロセスに作成されたのかも知れない) 0146NAME IS NULL2013/03/03(日) 19:17:53.28ID:??? last_insert_rowid() とか使えばいんでね? 0147NAME IS NULL2013/03/03(日) 22:36:59.89ID:??? 補足すると、トランザクションありの状態で、だよね 0148NAME IS NULL2013/03/12(火) 10:01:39.94ID:??? PHPでPDOで使ってるんですが、トランザクションを開始してコミットする前に webページを遷移させたからかどうかはわかりませんが、データベースがロックしたままになってしまいました。
SQL質疑応答スレ 13問目 http://toro.2ch.net/test/read.cgi/db/1343899481/0170NAME IS NULL2013/06/05(水) 19:50:35.27ID:???>>169 有難う 0171NAME IS NULL2013/06/08(土) 10:15:26.55ID:??? トランザクションの end と comitt の違いは何ですか? 0172NAME IS NULL2013/06/08(土) 10:48:10.84ID:???>>171 >>10173NAME IS NULL2013/06/08(土) 12:00:53.46ID:???>>172 有難う解りました 0174NAME IS NULL2013/06/08(土) 12:04:21.70ID:??? PupSQLiteで、下記がエラーになります エラーメッセージ 【cannnot start a transaction within a transaction】 ↓ ------------------------- BEGIN; UPDATE test SET [Name]="太郎" WHERE [ID]=2; END; --------------------------
2行目を UPDATEでなく SELECT文にすると正しく実行されます
何が原因でしょうか? 0175NAME IS NULL2013/06/08(土) 12:07:33.89ID:??? そのエラーメッセージに原因が書いてあるみたいだけど… 0176NAME IS NULL2013/06/08(土) 12:13:32.11ID:??? もう少し詳しく教えて頂けませんでしょうか? 100万レコードのUPDATEをするのですが、SQLiteはトランザクションで挟まないと遅いと見聞きしたので、試しに1レコードでやってみたらエラーがでました
どうすれば目的が叶えられますでしょうか? 0177NAME IS NULL2013/06/08(土) 12:26:31.81ID:???>>176 >>174 >エラーメッセージ 【cannnot start a transaction within a transaction】 > 【cannnot start a transaction within a transaction】 >cannnot start a transaction within a transaction
c a n n n o t s t a r t a t r a n s a c t i o n w i t h i n a t r a n s a c t i o n 0178NAME IS NULL2013/06/08(土) 12:34:32.16ID:??? もう少し詳しく教えて頂けませんでしょうか? どうすれば目的が叶えられますでしょうか? 0179NAME IS NULL2013/06/08(土) 12:49:41.39ID:???>>176 まずはメッセージの意味がわかるかどうか そこからだ 0180NAME IS NULL2013/06/08(土) 13:04:31.90ID:??? 意味は解ります
遅くないように明示的にトランザクションを掛けてUPDATEをするにはどうしたら良いでしょうか? 宜しくお願いします 0181NAME IS NULL2013/06/08(土) 13:29:28.78ID:???>>180 このUPDATEクエリは 既に別のトランザクションの中で動いているのだから 改めてトランザクションを作る必要はないのでは? 0182NAME IS NULL2013/06/08(土) 13:46:46.02ID:???>>181 有難うございます
説明良く解りました 有難うございます 0186NAME IS NULL2013/06/08(土) 19:42:57.07ID:??? そういう、よくわからないときは、本家のsqlite3.exeでSQL文を実行してみるのも手よ。 0187NAME IS NULL2013/06/14(金) 05:21:43.10ID:i47DmT1C iosやandroidアプリで、ドラッグ&ドロップでリストのレコードを入れ替えたタイミングで、テーブルに更新をかけ並び順を記憶させたいのですが、何かいい方法はないものでしょうか。 単純にリスト順にすべてのレコードに対してUPDATEをかけるのでは、件数が増えた場合コストがかかりすぎてしまいます。 0188NAME IS NULL2013/06/14(金) 06:22:18.66ID:???>>187 諦めろ 処理コストが問題となるような大量データの 更新を携帯端末にさせること自体に無理がある 0189NAME IS NULL2013/06/14(金) 18:26:23.86ID:??? 入れ替えた時はメモリ上で順番を記憶して ビューを閉じたりする時にデータベースを書き換える 0190NAME IS NULL2013/06/15(土) 16:24:54.32ID:???>>187 完全な解決にはならないけど、並び順を連番にせず適度に空きを設けるとか。 …昔のBASIC言語思い出すな。 0191NAME IS NULL2013/06/15(土) 18:26:19.32ID:???>>187 一画面以上ドラッグするケースを捨てて、順序を数字で持てば アップデート件数の最大値は表示件数になる。 0192NAME IS NULL2013/06/15(土) 23:56:42.27ID:??? 並び順(と元のテーブルへの外部キー)だけを保持するテーブルを別に作ればよいと思う。 参照するときはjoinしてorder by 0193NAME IS NULL2013/06/16(日) 03:46:48.11ID:???>>192 それで何が解決するのかわからない 0194NAME IS NULL2013/06/16(日) 14:07:21.83ID:??? SQL Server Compact 4.0 と比べてどっちが良い? 0195NAME IS NULL2013/06/16(日) 14:34:01.22ID:??? 名前からしてCEに組み込めるかと思ったけど、そういうわけでもないみたいだなw CE用にSQLiteのソース組み込んで使ってる・・・
ちょっと使ってみようかな 0196NAME IS NULL2013/06/18(火) 08:48:33.46ID:bfvLnN3q Winアプリで2つExeがある場合とかは、同時に接続できるのでしょうか? 片方がトランザクション開始したらコミットするまで、 もう片方がトランザクション開始出来ない、といった程度の問題でしょうか? 0197NAME IS NULL2013/06/18(火) 19:09:59.34ID:??? 自分で試すことも出来ないの? 0198NAME IS NULL2013/06/18(火) 19:49:50.44ID:??? インスタンス別じゃん 0199NAME IS NULL2013/06/19(水) 00:00:22.73ID:???>>196 Journal_modeで挙動変えられるからそれぞれ試してみて使い方にマッチするのを見つけろ 0200NAME IS NULL2013/07/17(水) NY:AN:NY.ANID:KY/vvdPC 拡張モジュールで、任意フォルダ内のファイル名、サイズ、タイムスタンプとかをテーブルのように参照出来るもの、ないですかねえ 0201NAME IS NULL2013/07/19(金) NY:AN:NY.ANID:??? その説明じゃどんな仕様を想定しているのか分からん。 0202NAME IS NULL2013/07/19(金) NY:AN:NY.ANID:??? SELECT path FROM C:\ WHERE size >= 1000000 みたいなことをしたいってことじゃないかと想像 0203NAME IS NULL2013/07/19(金) NY:AN:NY.ANID:??? PowerShellにそんな感じのなかったっけ 0204NAME IS NULL2013/07/20(土) NY:AN:NY.ANID:??? ディレクトリを走査して一覧表を作成している間にそのディレクトリの内容が 変わっちゃう場合があるし、それを止める手段もちょっと思いつかない。 こういうの、データベースの一機能として提供した場合に、なんか対処が面倒な クレームとか来そう。 0205NAME IS NULL2013/07/21(日) NY:AN:NY.ANID:???>>200 ですが、やりたいのは>>202の通りです
VIRTUAL TABLEを自作してそれらしい物が出来ました。 公式リポジトリに最近外部モジュールのサンプルが沢山追加されていたのでそれベースに改造して。 >>204は考慮してない… 0206NAME IS NULL2013/07/21(日) NY:AN:NY.ANID:??? PowerShellで良いじゃん 0207NAME IS NULL2013/07/21(日) NY:AN:NY.ANID:??? sqliteのスレでその回答に何の意味が有るのかと 0208NAME IS NULL2013/08/15(木) NY:AN:NY.ANID:??? System.Data.SQLite をVBAから直接(ADOではなく)使えますか? 0209NAME IS NULL2013/08/15(木) NY:AN:NY.ANID:??? ホームページによればSystem.Data.SQLite is an ADO.NET adapter for SQLite。 そもそもADOじゃなくてADO.NET。"直接"が何を差すのかも分からず、 質問が理解できなかったので、熟考の上、再投稿をお願いします。 0210NAME IS NULL2013/08/15(木) NY:AN:NY.ANID:??? 知らんクセに偉そうに答えるなよw 0211NAME IS NULL2013/08/15(木) NY:AN:NY.ANID:??? .netのdllもVBSやVBAから直接参照できるように書いてあるのも結構あるでしょ 暗号化やテキスト操作なんか 0212NAME IS NULL2013/08/16(金) NY:AN:NY.ANID:??? やってみたけど参照できないよ 0213NAME IS NULL2013/08/18(日) NY:AN:NY.ANID:??? どうやった? もしかして別のものみてるかな? 0214NAME IS NULL2013/08/19(月) NY:AN:NY.ANID:??? AccessのABEで参照設定して
Dim testDB With System.Data.SQLite set testDB=.createDatabase("SQLitetest.sq3") .createTable testDB , "testTable" end with 0215NAME IS NULL2013/08/27(火) NY:AN:NY.ANID:??? 3.8.0 0216NAME IS NULL2013/08/27(火) NY:AN:NY.ANID:???>>214 アベってVBEのつもりか 0217NAME IS NULL2013/08/27(火) NY:AN:NY.ANID:??? mysqlのorder by fieldみたく、指定した順番にselectする方法はありませんか?
・テーブル例 mytable.myid ---------- 1 2 3 4 5 ・SQL例 select myid from mytable order by field myid(1,4,5,2,3); ・取得したいデータ 1,4,5,2,3の順番で取得できるように 0218NAME IS NULL2013/08/27(火) NY:AN:NY.ANID:??? select myid from mytable order by case myid when 1 then 0 when 4 then 1 when 5 then 2 when 2 then 3 when 3 then 5 end;
長いけど…。偉い人ならもっとスマートにできるかもしれん。 0219NAME IS NULL2013/08/28(水) NY:AN:NY.ANID:??? order by caseなんて初めて知りました。 ありがとうございます。 0220NAME IS NULL2013/08/29(木) NY:AN:NY.ANID:??? ●のログをひもづけるためにhttp://pastebin.com/pkEWvP2h というスキーマをsqlite3で作ってデータをロードしてみましたが、 思ったようなスピードが出ません。どうすれば速くなりますか?
問い合わせは↓ SELECT DISTINCT s.email FROM res AS r INNER JOIN thread AS t ON r.thread = t.rowid INNER JOIN session AS s ON r.sess = s.rowid WHERE t.board = '板名'; 0221NAME IS NULL2013/08/30(金) NY:AN:NY.ANID:??? index作れよ 0222sage2013/08/30(金) NY:AN:NY.ANID:??? すんませんCentOS5.9で、php-5.1.6からsqlite-3.3.6を使いたく、 yumでphp-pdoをインストールしたのですが、 Call to undefined function sqlite_open() となって使用できません。 phpinfo()ではpdoとpdo_sqliteが追加されているのですが、他に見るところありますでしょうか。 0223NAME IS NULL2013/08/31(土) NY:AN:NY.ANID:??? windowsでsqliteデータベース開きたい時ってどんなソフト使ってる? pupsqliteが異常終了多すぎて乗り換えたい 0224NAME IS NULL2013/08/31(土) NY:AN:NY.ANID:???>>222 そもそもsqlite3.soが入ってないとか
>>223 多すぎってほどか分からないけど、確かに時々落ちるね なかなか、これぞってソフトがない… 0225NAME IS NULL2013/08/31(土) NY:AN:NY.ANID:??? NaviCat 0226NAME IS NULL2013/08/31(土) NY:AN:NY.ANID:??? SQLiteSpy使うか、コマンドラインからsqlite3で操作するかだな 0227NAME IS NULL2013/09/09(月) 23:20:54.16ID:??? 俺はいろいろ試した結果あれ一択だわ あれ、何だったっけか、えーとちょっと待ってて 0228NAME IS NULL2013/09/09(月) 23:58:17.91ID:??? 早くしろボケ 0229NAME IS NULL2013/09/10(火) 15:10:11.47ID:mn2EqLZS PostgreSQL 9.3.0 0230NAME IS NULL2013/09/14(土) 00:05:38.04ID:??? 3.8.0.2来てた〜 ttp://www.sqlite.org/releaselog/3_8_0_2.html 0231NAME IS NULL2013/09/14(土) 06:46:30.81ID:??? 思いだした。 SQLite Expert http://www.sqliteexpert.com excel exportとか使わなければ無料版でも十分
navicatは高いし昔から好きじゃないんだよなー 0232NAME IS NULL2013/09/14(土) 08:34:17.15ID:??? 遅せーんだよボケ、もうNaviCat買っちゃったよ 0233NAME IS NULL2013/09/15(日) 14:05:28.99ID:??? すまんのう、俺にも生活有るもんで 0234NAME IS NULL2013/09/19(木) 04:36:24.30ID:??? チラ裏だけど sqlite公式のドキュメントって実に良くまとまってるというか、読んでて関心するというか、尊敬さえする。