トップページ⇒db
1001コメント262KB

SQLite 8

レス数が1000を超えています。これ以上書き込みはできません。
0001NAME IS NULL2009/08/14(金) 13:51:26ID:UlUB4lFJ
サーバの要らない軽量データベース SQLite についてのスレです。

SQLite Home Page
http://www.sqlite.org/
0002NAME IS NULL2009/08/14(金) 13:52:04ID:???
過去スレ

sqliteを語るスレ
http://pc8.2ch.net/test/read.cgi/db/1056956494/
SQLite 2
http://pc8.2ch.net/test/read.cgi/db/1140827718/
SQLite 3
http://pc8.2ch.net/test/read.cgi/db/1152367932/
SQLite 4
http://pc11.2ch.net/test/read.cgi/db/1162621344/
SQLite 5
http://pc11.2ch.net/test/read.cgi/db/1176223619/
SQLite 6
http://pc11.2ch.net/test/read.cgi/db/1193118037/
SQLite 7
http://pc11.2ch.net/test/read.cgi/db/1220581676/
0003NAME IS NULL2009/08/14(金) 13:52:23ID:???
ツール等

Management Tools
ttp://www.sqlite.org/cvstrac/wiki?p=ManagementTools

【GUIツール】 TkSQLite
ttp://reddog.s35.xrea.com/wiki/TkSQLite.html

【ADO.NET 2.0 Provider】 System.Data.SQLite
ttp://sqlite.phxsoftware.com/

【ODBC】 SQLite ODBC Driver
ttp://www.ch-werner.de/sqliteodbc/

【JDBC】 SQLiteJDBC
ttp://www.zentus.com/sqlitejdbc/

【ADO.NET provider】 System.Data.SQLite
ttp://sqlite.phxsoftware.com/

【GUI管理ソフト】 PupSQLite
ttp://www5.plala.or.jp/Pup/

【Firefox add-on】 SQLite Manager
ttp://code.google.com/p/sqlite-manager/
ttps://addons.mozilla.org/ja/firefox/addon/5817
0004NAME IS NULL2009/08/14(金) 13:52:40ID:???
ネタ

OS X ハッキング! SQLiteが広げるこれからのアプリケーション
ttp://journal.mycom.co.jp/column/osx/236/index.html

SQLite Java Wrapperのコンパイル
ttp://syo.cocolog-nifty.com/freely/2007/10/sqlite_java_wra_f79c.html

SQLiteへの大量のINSERT処理が厳しい (CodeZine編集部ブログ):
ttp://blog.codezine.jp/editor/2007/10/sqliteinsert.php

SQLite性能評価その1
ttp://www.sutosoft.com/room/archives/000450.html

Fulltext index on SQLite
ttp://www.dodgson.org/omo/t/?date=20061001

SQLite の全文検索を Python から使ってみる (1)
ttp://plaza.rakuten.co.jp/kugutsushi/diary/200707270001/

SQLite Full Text Search with MeCab
ttp://reddog.s35.xrea.com/wiki/SQLite%20Full%20Text%20Search%20with%20MeCab.html
0005NAME IS NULL2009/08/14(金) 13:53:44ID:???
和書

SQLite入門 第2版 (西沢直木 著)
ttp://www.amazon.co.jp/dp/479811944X
和書で SQLite のみにフォーカスした書籍はこれ一択か。
入門用にはとりあえずこの一冊。

PHP+SQLite実践サンプルブック (豊崎直也 著)
ttp://www.amazon.co.jp/dp/4883374297
(内容不明。補足よろ)

Pocket詳解 SQL辞典 (堀江美彦 著)
ttp://www.amazon.co.jp/dp/4798018619
各種 RDBMS 対応の SQL のリファレンス本で、 SQLite にも対応。
が、ざっと見たところ SQLite に関してはあまり緻密に調べられておらず
不正確なところもあるように見受けられる。

基礎から学ぶWebデータベースプログラミング (堀川久 著)
ttp://www.amazon.co.jp/dp/4274065294
前半は SQL の基礎について、後半は Ruby で Web アプリの作成についての説明。
PostgreSQL, MySQL, SQLite の仕様の違いにも触れられている。
が、 SQLite は SQLite2 ベースなので情報が古いかも。


洋書

The Definitive Guide to Sqlite (Mike Owens 著)
ttp://www.amazon.co.jp/dp/1590596730

SQLite (Developer's Library) (Chris Newman 著)
ttp://www.amazon.co.jp/dp/067232685X
000612009/08/14(金) 13:55:46ID:???
レビューの質が悪いのでやめとこうかとも思ったけど、
書籍の紹介が全然無いのも寂しいので一応 >>5 を載せてみますた。
0007NAME IS NULL2009/08/16(日) 13:03:22ID:ot9ThzR+
>>1乙

SQLite最近使い始めたんだけどinsert文がちょくちょく失敗して困る。
過去に一度insertしてその後deleteして現在は無いデータなのに
sqlite_execのエラー文字列見るとcolumn 〜 is not uniqueとかが代入されてた。
毎回失敗するならいいけど時々だから余計に原因が分からない。

今はみれないけど>>4にある「SQLiteへの大量のINSERT処理が厳しい」の記事に
そういうこと書いてあったのかな。
誰かこんな症状に悩まされてるって人いる?
0008NAME IS NULL2009/08/16(日) 14:36:46ID:???
firebird embedded にするのがよいよ。
0009NAME IS NULL2009/08/16(日) 16:18:55ID:???
>>7
deleteした人がトランザクション持ったままとか幼稚なミスは無いとして
NFSの先にファイルがあるとか
0010NAME IS NULL2009/08/17(月) 07:28:26ID:???
SQLite Release 3.6.17 On 2009 Aug 10 (3.6.17)

Changes associated with this release include the following:

* Expose the sqlite3_strnicmp() interface for use by extensions and applications.
* Remove the restriction on virtual tables and shared cache mode. Virtual tables and shared cache can now be used at the same time.
* Many code simplifications and obscure bug fixes in support of providing 100% branch test coverage.
001142009/08/17(月) 10:48:04ID:???
すみません、リンク先の確認してなかった。でも、大したこと書いてないような・・・

SQLiteへの大量のINSERT処理が厳しい (CodeZine編集部ブログ)
ttp://codezine.jp/blog/2007/10/sqliteinsert.php

本当に「現在は無いデータ」かどうか確認してみるとか?
例えば「column 〜 is not unique」のエラーを捕捉して、
そのデータを SELECT してみる処理を入れてみて確認してみては。
0012NAME IS NULL2009/08/18(火) 02:06:36ID:???
>>11
「SQLiteへの大量のINSERT処理が厳しい」は基本、トランザクションを使わないアホ記事
ttp://journal.mycom.co.jp/special/2004/php5/007.html と、それに対する指摘の
ttp://www.randynetwork.com/blog/87 の件しか書かれていないので、情報量ゼロに
等しいからねい。
0013NAME IS NULL2009/08/18(火) 03:06:17ID:???
どうせならsqlite3_clear_bindings、sqlite3_resetまでやって、これだけ早くなりました
っていうの書いてほしいな
0014NAME IS NULL2009/08/18(火) 12:06:13ID:???
つまりSQLiteはトランザクション処理が遅すぎってことだろ
もうちっと速くなんないもんかね
0015NAME IS NULL2009/08/18(火) 14:21:06ID:???
トランザクション処理が遅いというか、データが更新されていることを保証するから遅いんだろう。
0016NAME IS NULL2009/08/18(火) 21:13:44ID:zw0wFllC
これ、昔はまったな。

トランザクションの開始と終了を明示しない時は、1SQLを1トランザクションと
みなしてコミットするっていうのは安全方向な解釈なわけで、
ごもっともって思ったけどね。
0017NAME IS NULL2009/08/19(水) 01:06:29ID:???
1ファイルで直接アクセスする手軽さを捨てれば、もう少し良くなりそうだけどね。

ttp://www.atmarkit.co.jp/flinux/rensai/watch2009/watch05a.html
これ読むと、毎回全部書き直すように読めるんだけど、
auto commitの場合に毎回これが行われるとしたら、かなり性能が劣化しそうだね。
0018NAME IS NULL2009/08/19(水) 01:26:17ID:???
>>16
BerkeleyDBとかだとindexとかは複数ファイルに分かれているわけだし、
SQLiteもそういう設計にしてもいいはずだよねい。

あと、ちょっとスレ違いだけど、FirefoxではSQLiteなDBファイルを
一切reindexやvacuumしないので、SQLite OptimizerなどのAddon使わないと
Firefoxの起動や終了が遅くなる一方なんだよなぁ。その辺、Firefoxは
DBの挙動やメンテについて無頓着すぎると思う。
0019NAME IS NULL2009/08/19(水) 19:10:22ID:???
設計思想として1db=1ファイルって手軽さをとったんだろう。
あと、fxは次のバージョンでそこらに手を入れるとかなんとか。
0020NAME IS NULL2009/08/20(木) 01:55:40ID:UUp3k2LM
dhRichClient3 (旧dhSqlite)で、VBAからSqlite利用しようとしています。
「COPY」コマンドを使用したいのですが、古くて使えないようなので
「.import」をVBAから実行したいのですが、普通のSQL文と同じ方法では実行できませんでした。(当然?)
「.import」のような管理コマンドの実行方法が分かる方いたらお教えください。

リファレンスにもそれらしいコマンド見当たりません…
http://www.datenhaus.de/RC-Help/dhRichClient3.htm
0021NAME IS NULL2009/08/20(木) 12:14:43ID:???
'.' で始まるコマンドって、 SQL 文ではなくて、 sqlite コマンドの機能なんだよね。
(ソースコードでいうと src/shell.c 内で実装)

sqlite コマンドを実行するか、
.import 相当の機能を別途実装するしかないんじゃなかろうか。
0022前スレ9852009/08/20(木) 14:38:09ID:???
しばらく来ることができなくて、やっと来れたら前スレが落ちてたorz 

申し訳ないのですが、前スレ985へのレスがありましたら教えていただけないでしょうか

>985 NAME IS NULL [sage] Date:2009/08/12(水) 15:29:59  ID:??? Be:
>    SQLite version 2.8.17からSQLite3にデータベースを変換しようと思って
>    「2」で.dumpコマンドを発行したんだが、一部の文字列が「'」でくくられておらず
>    「3」の.readでエラーになってしまうのだが、これってSQLite2のバグなのか?
>    それともデータベースファイルの方がおかしいのか?
0023NAME IS NULL2009/08/20(木) 14:55:28ID:???
うちの環境 (2.8.17 & 3.6.14) ではうまく再現しないんだけど、
何か再現するデータの例はある?
0024NAME IS NULL2009/08/20(木) 22:47:58ID:???
>>21
やっぱりそうなりますか…
とりあえず後者の方法でしのごうと思います。
ありがとうございました。
0025NAME IS NULL2009/08/21(金) 00:04:12ID:???
>>22

986 名前:NAME IS NULL[sage] 投稿日:2009/08/12(水) 17:53:17 ID:???
むむむ、そんなことあるのか。
文字コードがおかしい (Shift_JIS とか) ってことはないよね?


のみだな。
0026前スレ9852009/08/21(金) 00:11:18ID:???
>>22
ぶっちゃけるとコミケカタロムっていうのに入っているデータベースファイルなんですよ

>>25
テキストデータはShiftJISで入っているみたいです。これが原因なんでしょうか・・・
0027NAME IS NULL2009/08/21(金) 11:54:27ID:???
sqlite db .dump | nkf -w | sqlite3 db
0028NAME IS NULL2009/08/21(金) 12:05:57ID:???
>>23 = 前スレ986 ですが。

コミケカタログ持ってないからなあ・・・
SQLite2 のバグのような気もするけど、エラーの出る行とか見てみたい。

>>27
nkf -xm0 --ic=CP932 --oc=UTF-8 とかのが良いかな。
0029NAME IS NULL2009/08/21(金) 13:06:51ID:???
.dumpの結果の一部ですが、3つ目のINSERTがおかしくなっています

create table ComiketMap (
       comiketNo INTEGER not null, -- コミケ番号
       id INTEGER not null,    -- 地図ID
       name VARCHAR(10),           -- 地図名
       filename VARCHAR(10),       -- 地図ファイル名基幹部
       x INTEGER,   -- 印刷用範囲
       y INTEGER,   -- 印刷用範囲
       w INTEGER,   -- 印刷用範囲
       h INTEGER,   -- 印刷用範囲
       allfilename VARCHAR(10),       -- 略地図ファイル名基幹部
       x2 INTEGER,   -- 印刷用範囲ハイレゾ用
       y2 INTEGER,   -- 印刷用範囲ハイレゾ用
       w2 INTEGER,   -- 印刷用範囲ハイレゾ用
       h2 INTEGER,   -- 印刷用範囲ハイレゾ用
       rotate INTEGER,    -- 配置に対する回転方向 0:正 1:逆
       PRIMARY KEY (comiketNo,id)
);
INSERT INTO ComiketMap VALUES(76,1,'東123','E123',0,0,1270,540,'A1',0,0,2540,1080,0);
INSERT INTO ComiketMap VALUES(76,2,'東456','E456',0,0,1270,540,'A2',0,0,2540,1080,1);
INSERT INTO ComiketMap VALUES(76,3,西12,'W12',0,0,1000,800,'A3',0,0,2000,1600,0);
0030NAME IS NULL2009/08/21(金) 17:04:50ID:???
こう並べてみると、西の文字が東より左に寄ってるじゃないか
これで気がつくことがあるべ
0031282009/08/21(金) 18:32:42ID:???
そのデータを「西12」をクオートして sqlite 2.8.17 に突っ込んで .dump したけど、
ちゃんとクオートされて出力されてしまった。

sqlite 2.8.17 の dump のコードを見た感じだと、
クオートされずに出力される可能性があるとすると、
そのカラムのデータが数値として判定された場合が考えられるんだけど、
「西12」だしなあ・・・

.dump を実行してるのはどんな環境なのかな?
OS とかロケール (環境変数 LANG や LC_* など) とかが知りたい。

>>30
何か気づいたの?
0032NAME IS NULL2009/08/22(土) 13:29:25ID:???
データベースを作るアプリと参照するアプリの二つを
開発しています。

データベースを作るアプリが遅いので、
(transaction は使用しています)
メモリ内に作ってファイルに書き出すことを検討していますが、

Data Source = :memory で、メモリ内に作ったデータベースを
ファイルに保存することはできますか?
0033NAME IS NULL2009/08/22(土) 21:12:38ID:???
>>32
シリアライズすれば出来るよ。
というかInsertで一件ずつコミットとかしてないよな?
0034NAME IS NULL2009/08/22(土) 21:30:11ID:???
「RAMディスク」というソリューション
0035前スレ9852009/08/22(土) 21:39:05ID:???
>>30
ごめんなさい、わかりません。

>>31
環境変数ですか?
OS=Windows_NT
LANG や LC_* などはありませんでしたが、
コンパネの「地域と言語のオプション」ではすべて「日本語」になっていました
0036282009/08/22(土) 23:23:13ID:???
>>35
Windows っすか・・・
Windows XP で試したら確かに再現しますね。

> そのカラムのデータが数値として判定された場合が考えられるんだけど、
がどうやらビンゴのようです。
数値判定している箇所の関数 isdigit() が、「西」の文字で真を返していました。

ちょっと俺には Windows のプログラムのことはよくわからないのでお手上げです。
UNIX で実行する環境があるならばそこで実行するのが手っ取り早いと思います。
0037NAME IS NULL2009/08/23(日) 01:53:15ID:???
>>35
お前、quoteされているかどうかすら確認できないのかよ…
0038282009/08/23(日) 10:46:28ID:???
>>30 >>35
最初 (>>22) から読み直された方がよろしいかと存じますが、いかがでしょうか?
0039NAME IS NULL2009/08/23(日) 21:31:34ID:???
ttp://pc12.2ch.net/test/read.cgi/software/1249816402/825
これ、原因わかる人いる?
0040NAME IS NULL2009/08/24(月) 09:51:33ID:???
再現性あるね。なんだろう。
ダンプを読み込ませて作ったDBから作ったダンプと、元のダンプをdiffしても差はなかった。
0041282009/08/24(月) 13:31:57ID:???
>>39
Firefox 固有の問題みたいなので向こうで答えるね。
0042412009/08/24(月) 13:33:12ID:???
あ、名前欄に深い意味は無いです。ミスった。
0043NAME IS NULL2009/08/27(木) 10:25:07ID:???
SQLITEのトリガーでストアドもどきのことをやろうと思ってるんだけど、DECLAREがsyntax errorになって通らない。
やりたいのはただ単純にトリガ内で変数を宣言して値を格納したりしたいだけなんだけど、
SQLITEでは何か特殊な書き方でもあるんですか?
0044NAME IS NULL2009/08/27(木) 17:48:52ID:???
トリガーの構文
ttp://www.3rd-impact.net/Document/SQLite/Translation/Current/lang_createtrigger.html
0045NAME IS NULL2009/08/28(金) 00:01:21ID:???
しょうがないからcreate tableでテンポラリー作ろうとしても、DDL弾かれちゃうのな。
一体どうしろと。
0046NAME IS NULL2009/08/28(金) 13:54:57ID:???
LIKEで"%"検索って出来ないの?
末尾%のレコードとして、
SELECT * FROM テーブル WHERE カラム名 LIKE '%@%' ESCAPE'@';
こんなかんじですか?

SQL error: near "ESCAPE": syntax error

こんなエラーでるんですけど

ちなみにxampp内蔵のSQLiteで、バージョンは2.8.17です。
0047NAME IS NULL2009/08/28(金) 14:12:43ID:???
>>46
いや、できるでしょ。親切にエラーメッセージ出てるけど、読まないの?

SELECT * FROM テーブル WHERE カラム名 LIKE '%@%' ESCAPE '@';
0048NAME IS NULL2009/08/31(月) 11:36:22ID:???
HTML5のDBのデファクトスタンダードだね
これからがんがん使うぞ
0049NAME IS NULL2009/09/02(水) 16:45:27ID:???
助けてー。
SQLITEのトリガで、今まで動いてたトリガがエラーになってるのかどうか知らないけど突然動作しなくなった。
DROP TRIGGERして空のトリガを作ってみるとそっちは動くんだけど、
もう一回エラーが出るトリガを作っても、作成には成功してもトリガの実行には失敗する。
UPDATEに対して引っかけてるトリガなんだけど、そもそもどこでエラーが出てるのかわからん。
とにかくトリガ内で行われている処理が全く反映されない。
元のUPDATE文がロールバックされてしまう。
トリガが吐くエラーってどこでトラップするのよ!助けてママン
0050492009/09/02(水) 16:55:42ID:???
今まで動いていたトリガだと思っていたが、気のせいだったぜ!
一回トリガを変更したときにすでに動かなくなっていたらしい。
で、原因はともかくとして、エラーをトラップするには
元のトリガに対して引っかけてるSQL文のerror_info()を取ってやればトリガのエラーも検出できるみたい。
お騒がせしましたです。
0051NAME IS NULL2009/09/09(水) 21:08:54ID:???
バイナリエディタで中見たらデータ読めるんだけど
暗号化するようなオプションってないのかな?
0052NAME IS NULL2009/09/10(木) 01:00:01ID:???
>>51
暗号化して積めばよくね?
0053512009/09/10(木) 16:15:19ID:???
>>52
.netでsystem.data.sqlite使ってパスワードかけたらdbまるごと暗号化できた!
0054NAME IS NULL2009/09/11(金) 15:27:08ID:???
  イ`ヘ
 /: :| ヽ
/ : :/  ヽ ___   _,,,:. .-: :´彡フ
_ノ\_∠: : : : : : : : :`: :-: :,:_:/彡 /
      ( : : : : : : : : : : : : : : `ゝ  /
  マ  r::/: /: : | : : : : : : : : ::\ /
      //: /: : : |: : | |: : |: _: : : :ヽ
  ジ  {/ 7|`\/i: /|:|/|´: : : : :|ヽ
     〉 ,‐-‐、`|7 || |_::|,_|: : :|:::|: |
  で / r:oヽ`    /.:oヽヽ: :|: | :|
     { {o:::::::}     {:::::0 }/: :|N
  っ  | ヾ:::ソ     ヾ:::ソ /|: : |
 !? ヽ::::ー-.. /ヽ ..ー-::: ヽ::| r--ッ
-tヽ/´|`::::::::::;/   `、 ::::::::::: /: i }  >
::∧: : :|: |J   \   /   /::i: | /_ゝ
. \ヾ: |::|` - ,, ___`-´_ ,, - ´|: : :|:::|
   ヽ: |::|\     ̄/ /|  |: : :|: |
0055NAME IS NULL2009/09/11(金) 21:27:18ID:???
>>54
マジでって前スレで概出だけどな。

614 名前:NAME IS NULL[sage] 投稿日:2009/03/01(日) 07:35:00 ID:???
パスワードでファイルにロックかけたり
暗号化って出来ますか?

617 名前:NAME IS NULL[sage] 投稿日:2009/03/01(日) 17:54:33 ID:???
>>614
ttp://d.hatena.ne.jp/tateisu/20070117/p2
0056NAME IS NULL2009/09/12(土) 18:07:47ID:iH3YOqOI
2009 Sep 11 (3.6.18)

* Versioning of the SQLite source code has transitioned from CVS to Fossil.
* Query planner enhancements.
* The SQLITE_ENABLE_STAT2 compile-time option causes the ANALYZE command to collect a small histogram of each index, to help SQLite better select among competing range query indices.
* Recursive triggers can be enabled using the PRAGMA recursive_triggers statement.
* Delete triggers fire when rows are removed due to a REPLACE conflict resolution. This feature is only enabled when recursive triggers are enabled.
* Added the SQLITE_OPEN_SHAREDCACHE and SQLITE_OPEN_PRIVATECACHE flags for sqlite3_open_v2() used to override the global shared cache mode settings for individual database connections.
* Added improved version identification features: C-Preprocessor macro SQLITE_SOURCE_ID, C/C++ interface sqlite3_sourceid(), and SQL function sqlite_source_id().
* Obscure bug fix on triggers ([efc02f9779]).
。
0057NAME IS NULL2009/09/16(水) 23:51:25ID:???
3.6.18 でオプティマイザが相当賢くなったな
0058NAME IS NULL2009/09/17(木) 09:23:44ID:???
最新版のSQLiteってまだPEAR::DB_DataObjectやPEAR::Authは使えないのですか?
もし出来ないのならばやっぱSQLite2を使用しないといけないのでしょうか?
0059NAME IS NULL2009/09/17(木) 10:12:12ID:???
DataObjects_Book: find:
DataObjects_Book: CONNECT: Checking for database specific ini ('') : database_ in options
DataObjects_Book: CONNECT: NEW CONNECTION TP DATABASE :
DataObjects_Book: CONNECT: sqlite://localhost/C:/Program Files/Apache Software Foundation/Apache2.2/htdocs/samples/chap6/chap6.sqlite 38c4cf3d8597fe519549815f422b1075
DataObjects_Book: CONNECT: a:1:{s:32:"38c4cf3d8597fe519549815f422b1075";O:9:"
DB_sqlite":7:{s:8:"dbsyntax";s:6:"sqlite";s:3:"dsn";a:9:s:7:"phptype";s:6:"sqlite";s:8:"dbsyntax";s:6:"sqlite";s:8:"
username";b:0;s:8:"password";b:0;s:8:"protocol";s:3:"tcp";s:8:"hostspec";s:9:"localhost";s:4:"port";b:0;s:6:"socket";b:0;s:8:"
database";s:87:"C:/Program Files/Apache Software Foundation/Apache2.2/htdocs/samples/chap6/chap6.sqlite";}s:8:"
features";a:7:{s:5:"limit";s:5:"alter";s:8:"new_link";b:0;s:7:"numrows";b:1;s:8:"pconnect";b:1;s:7:"prepare";b:0;s:3:"ssl";b:0;s:12:"
transactions";b:0;}s:9:"fetchmode";i:1;s:22:"fetchmode_object_class";s:8:"stdClass";s:7:"options";a:8:
{s:16:"result_buffering";i:500;s:10:"persistent";b:0;s:3:"ssl";b:0;s:5:"debug";i:0;s:14:"seqname_format";s:6:"%s_seq";s:8:"autofree";b:0;s:11:"portability";i:0;s:8:"optimize";s:11:"performance";}s:13:"was_connected";b:1;}}
DataObjects_Book: databaseStructure: Missing ini file: C:/Program Files/Apache Software Foundation/Apache2.2/htdocs/samples/chap6/chap6.sqlite.ini
DataObjects_Book: databaseStructure: Cant find database schema: chap6.sqlite/book
in links file data: Array
(
)

DataObjects_Book: ERROR: Unable to load schema for database and table (turn debugging up to 5 for full error message)
DB_DataObject Error: Unable to load schema for database and table (turn debugging up to 5 for full error message)
こういうエラーが出たのですが、自分にはどこを直せばいいのか分かりません
どなたか直すべき点を指摘していただけたらと思います
0060NAME IS NULL2009/09/28(月) 21:02:40ID:???
FireFox 3.5 はページ履歴の管理に SQLite 使ってるのか?
何日も起動しっぱなしでガンガン使った後に PC 終了しようとすると
ガリガリガリガリ 30 分経っても終わんねぇ。アフォかと。
0061NAME IS NULL2009/09/28(月) 21:09:56ID:???
ウィルスでも仕込まれたんじゃないの
0062NAME IS NULL2009/09/29(火) 02:16:10ID:???
それは SQLite のせいなのか?
0063NAME IS NULL2009/09/29(火) 21:39:53ID:???
違うw
0064NAME IS NULL2009/09/30(水) 00:58:41ID:???
>>60
前提が憶測な上に、起きている現象と SQLite の動作の因果関係が
何ら提示されてない電波っぷりがイカスw

死ね。氏ねじゃなくて死ね。
0065NAME IS NULL2009/09/30(水) 02:53:40ID:???
Firefox関連で明らかになったSQLiteのまずいところって
ttp://www.atmarkit.co.jp/flinux/rensai/watch2009/watch05a.html にある
fdatasync()を使うべきところを fsync()使っていたことぐらいで、あとは
Firefox側の問題だ罠。

ちなみに、FirefoxではDBのreindexすらしないので、
SQLite Optimizer ttp://miyafx.blogspot.com/2009/03/sqlite-firefox.html
というアドオンを使ってreindexとvacuumeをすると気持ちよくなる。
0066NAME IS NULL2009/09/30(水) 22:57:31ID:???
そんなことで死なんならんのやったら地球の総人口1万人ぐらいになるやろね。
0067NAME IS NULL2009/10/01(木) 03:08:32ID:???
本人が馬鹿であればあるほど、周囲の人間を馬鹿と認識しやすいってどっかのおっさんが言ってたわ
0068NAME IS NULL2009/10/01(木) 21:39:10ID:???
俺は馬鹿なんだが、周囲の人間はみんな馬鹿じゃないぞ。どういうことだ?
0069NAME IS NULL2009/10/01(木) 23:42:04ID:???
本人は自分をバカと思っていないこと前提。
0070NAME IS NULL2009/10/02(金) 02:38:37ID:???
自分の馬鹿さを自覚できるのは相当賢い部類
0071NAME IS NULL2009/10/02(金) 08:22:13ID:???
まず馬鹿の基準を作らないと、どちらに分類されるか分からないな。
0072NAME IS NULL2009/10/03(土) 00:40:39ID:uaCgXGJD
>>65
PRAGMAで指定できる。
ページ遷移ごとに2.5MB書き込むブラウザもかなり変だが、2.5MB程度書き込む
だけで数分固まるOSもかなり変。
SQLiteへ責任転嫁してくるのはDRHがOSSと一緒にしてほしくないって言ったのが
原因だろか。
MSのせいにしとけばいいのに。
0073NAME IS NULL2009/10/03(土) 12:26:21ID:???
>>72
後半を日本語で。
0074NAME IS NULL2009/10/03(土) 16:51:18ID:???
>>73
DRHは人名です
0075NAME IS NULL2009/10/03(土) 20:04:11ID:???
>>74
いやいやいや、それはわかっとるちうねん。
0076NAME IS NULL2009/10/04(日) 20:41:10ID:???
なぜSQLiteを使うの?
0077NAME IS NULL2009/10/04(日) 21:43:52ID:???
そこに SQLite があるから。
というよりむしろ、そこに SQLite しかなかったから。
0078NAME IS NULL2009/10/04(日) 22:41:58ID:???
ほかに選択肢があれば使ってみたいけど
フットプリントが小さくてタダで使えるDBライブラリって
あんまり無いよね
0079NAME IS NULL2009/10/04(日) 23:39:10ID:???
定番のBerkleyDBがあるやん。
0080NAME IS NULL2009/10/05(月) 08:17:00ID:???
それでいい場合もあるけど、SQL使いたいことも多い。
0081NAME IS NULL2009/10/06(火) 02:14:50ID:???
GUIの管理ツールを使いたいが多すぎて
どれを使ったらいいのかわからない
http://www.sqlite.org/cvstrac/wiki?p=ManagementTools
0082NAME IS NULL2009/10/06(火) 03:20:22ID:???
調べる気も無いカスはtkでも使ってろ
0083NAME IS NULL2009/10/06(火) 22:37:50ID:???
>>82
ありがとう。愛してる
0084NAME IS NULL2009/10/06(火) 23:41:10ID:???
>>82
ぼくも調べる気も無いカスです
日本語のGUI管理ツール教えて
0085NAME IS NULL2009/10/07(水) 06:16:02ID:???
そういう塵蟲はこれでも使ってろ
https://www.eonet.ne.jp/~pup/software.html
0086NAME IS NULL2009/10/07(水) 19:04:43ID:???
>>85
ありが�d。。。大好き♥

sqlitecc3j.exeは窓から捨てるね
0087NAME IS NULL2009/10/09(金) 15:13:02ID:???
俺様メモ
select datetime(unix_time/86400.0 + 2440587.875);
select strftime('%Y年%m月%d日 %H時%M分%S秒',unix_time/86400.0+2440587.875);
0088NAME IS NULL2009/10/09(金) 15:16:39ID:???
追加
select date(unix_time/86400.0 + 2440587.875);
select time(unix_time/86400.0 + 2440587.875);
0089NAME IS NULL2009/10/09(金) 20:40:36ID:???
select datetime(unix_time,'unixepoch');?
0090NAME IS NULL2009/10/09(金) 23:07:29ID:???
select datetime('now');
0091872009/10/10(土) 07:20:19ID:???
>>89
こうすりゃいいのか! ありがトン
select datetime(unix_time, 'unixepoch', 'localtime');
0092NAME IS NULL2009/10/10(土) 13:30:24ID:???
select datetime('now','localtime');
0093NAME IS NULL2009/10/15(木) 23:18:15ID:d2PUdHCm
SQLite Release 3.6.19 On 2009 Oct 14 (3.6.19)
Changes associated with this release include the following:
* Added support for foreign key constraints. Foreign key constraints are disabled by default. Use the foreign_keys pragma to turn them on.
* Generalized the IS and IS NOT operators to take arbitrary expressions on their right-hand side.
* The TCL Interface has been enhanced to use the Non-Recursive Engine (NRE) interface to the TCL interpreter when linked against TCL 8.6 or later.
* Fix a bug introduced in 3.6.18 that can lead to a segfault when an attempt is made to write on a read-only database.
0094NAME IS NULL2009/10/16(金) 00:25:36ID:???
> * Added support for foreign key constraints.
正直永遠にサポートしないつもりかと思ってた。
でも欲しかったから来て嬉しい。
0095NAME IS NULL2009/10/16(金) 20:32:00ID:/wq/v8jR
初歩的な質問なんだけどテーブル作成でPK設定したら自動的にIndexは張られるの?
やっぱり後でindexを作らないと駄目?
0096NAME IS NULL2009/10/23(金) 09:22:01ID:???
INSERTとかするときって、テーブルロックされるんだっけ?
それともデータベース全体ロック?
0097NAME IS NULL2009/10/23(金) 10:53:12ID:???
>>96
ttp://www.3rd-impact.net/Document/SQLite/Translation/Current/sharedcache.html
0098NAME IS NULL2009/10/23(金) 10:53:56ID:???
あ、あと
ttp://www.3rd-impact.net/Document/SQLite/Translation/Current/lockingv3.html
0099NAME IS NULL2009/10/27(火) 11:22:47ID:???
PHP+SQLite を用いたダウンロードカウンター「X-File Access Counter」
ttp://works.xworks.org/script/01php/xfile-access-counter/

これの非公開バージョンb090909
http://kissho.xii.jp/1/src/1jyou93396.zip.html

・DBにSQLiteを用いているのが特徴。
・ベータ版のため、簡単に使える状態では無い。

誰か、使用方法、教えて下さい・・・。
0100NAME IS NULL2009/10/27(火) 13:03:02ID:???
>>99
xfac.phpに全部書いてあったよ
0101NAME IS NULL2009/10/28(水) 21:52:27ID:???
CSVファイルとかをimportするとき、INTEGER PRIMARY KEYのカラムを
自動で入れてほしいんだけど どうしたらいいですか?
0102NAME IS NULL2009/11/05(木) 16:57:40ID:???
SQLiteって日本語の全文検索ってできる?
Firefox3とかfts3モジュールとかいってるサイトを見つけたけど
詳しい解説がなくて何のことやらさっぱり
0103NAME IS NULL2009/11/06(金) 00:09:28ID:???
>>102
そういう関数を作って呼んだ方が速い
0104NAME IS NULL2009/11/08(日) 01:59:03ID:JaE5+7v3
2009 Nov 4 (3.6.20)

* Optimizer enhancement: prepared statements are automatically re-compiled when a binding on the RHS of a LIKE operator changes or when any range constraint changes under SQLITE_ENABLE_STAT2.
* Various minor bug fixes and documentation enhancements.
0105NAME IS NULL2009/11/15(日) 14:35:57ID:???
SQLiteManagerがPHP5.3にあげたら使えなくなってしまいましたので
・EUC、SJIS、UTF-8が扱える。
・SQLite2系とSQLite3系が扱える。
GUI管理ツールってSQLiteManager意外にいいの無いですか?
0106NAME IS NULL2009/11/16(月) 19:12:04ID:???
無い
0107NAME IS NULL2009/11/16(月) 22:37:23ID:???
>>106
無いか。
とりあえず
.htaccessに
php_flag log_errors On
php_value error_log "./log.txt"
php_flag display_errors off
を追加して無理矢理動かすことにしたけど
警告エラーのたびに修正がめんどくさいので
SQLite2は問題なく使えるけどSQLite3のデータベースの追加(新規も既存のデータベースファイルの追加)ができなくなった。

環境としたらXAMPPだが古いの入れ直せば良いだけだけど
開発環境は最新状態にしてテスト環境CentOSで下のバージョンでも問題ないかテストしたいんだよな。
0108NAME IS NULL2009/11/17(火) 00:12:54ID:???
>>105
tksqliteを知らんのか
0109NAME IS NULL2009/11/18(水) 11:22:23ID:XgJDmvNS
Blob型はファイルサイズの制限はありますか
また、Blob型で音楽 動画などをバイナリで保存できますか
0110NAME IS NULL2009/11/18(水) 13:37:22ID:???
ファイルシステム依存
0111NAME IS NULL2009/11/18(水) 14:20:03ID:???
>>109
まあいいからまずはここ見れ
http://www.sqlite.org/limits.html
0112NAME IS NULL2009/11/21(土) 21:29:08ID:???
>>111
読めねーよアホ
0113NAME IS NULL2009/11/21(土) 22:21:05ID:???
>>111
じゃあ使うなアホ
0114NAME IS NULL2009/11/21(土) 22:46:08ID:???
>>113
アンカー間違えてね?
0115NAME IS NULL2009/11/21(土) 22:49:38ID:???
>sqlitedll-3_6_20.zip
> The only external dependency is MSVCRT.DLL.
MSVCRTってシングルスレッドとマルチスレッド用で分かれてた気がするんだが
これはどっちをインクルードしてるんだ?
0116NAME IS NULL2009/11/22(日) 22:02:25ID:???
msvcrt.dllはマルチスレッドしかない
0117NAME IS NULL2009/11/23(月) 17:12:29ID:???
>>116
えっ
0118NAME IS NULL2009/11/23(月) 22:52:35ID:???
シングルスレッドとマルチスレッドがあるのは
スタティックリンク版のlibcだけだから、>>116 で正しいのでは?
01191152009/11/24(火) 00:02:58ID:???
なるほど、libは分かれてるけどdllはマルチスレッドのみということですね。
考えてみればdllが2つあるとは考えられにくいですよね・・・・・・
ならVC++のプロジェクト設定はマルチスレッド使用のほうがいいのでしょうか?
01201152009/11/24(火) 00:05:19ID:???
いやいやいやいや
sqliteがDLLをロードしてるならアプリをスタティックリンクにする意味は無いですよね・・・
0121NAME IS NULL2009/11/24(火) 03:27:15ID:???
いまどきVCの設定でシングルスレッドなんて使う奴は真性の基地外だろ
0122NAME IS NULL2009/11/26(木) 17:50:02ID:???
質問です。sqliteでpostgreに存在するGENERATE_SERIES()のような機能が欲しいため、以下のようなクエリを書きました。
SELECT
CAST(桁1.番号||桁2.番号||桁3.番号 as INTEGER)as 番号
FROM
(SELECT '0' as 番号
UNION SELECT '1' as 番号
UNION SELECT '2' as 番号
UNION SELECT '3' as 番号
UNION SELECT '4' as 番号
UNION SELECT '5' as 番号
UNION SELECT '6' as 番号
UNION SELECT '7' as 番号
UNION SELECT '8' as 番号
UNION SELECT '9' as 番号
)as 桁1,
(SELECT '0' as 番号
UNION SELECT '1' as 番号
UNION SELECT '2' as 番号
UNION SELECT '3' as 番号
UNION SELECT '4' as 番号
UNION SELECT '5' as 番号
UNION SELECT '6' as 番号
UNION SELECT '7' as 番号
UNION SELECT '8' as 番号
UNION SELECT '9' as 番号 )as 桁2,
(SELECT '0' as 番号
UNION SELECT '1' as 番号
UNION SELECT '2' as 番号
UNION SELECT '3' as 番号
UNION SELECT '4' as 番号
UNION SELECT '5' as 番号
UNION SELECT '6' as 番号
UNION SELECT '7' as 番号
UNION SELECT '8' as 番号
UNION SELECT '9' as 番号 )as 桁3
ORDER BY 番号 ASC
目的には適っているのですが、流石に冗長過ぎると思うので、もうちょっとスマートになりゃしませんでしょうか。
0123NAME IS NULL2009/11/29(日) 20:44:17ID:???
>>72
> ページ遷移ごとに2.5MB書き込むブラウザもかなり変だが、2.5MB程度書き込む
> だけで数分固まるOSもかなり変。
固まるのはFx。書き込まれるまでUIを止めてしまう。

0124NAME IS NULL2009/11/29(日) 21:24:20ID:UjTGwFXV
エラーチェックみんなしてる?
sqlite3_prepare()とかsqlite3_bind_int()とか
デバッグ中はエラーチェック大事だけどさ、すごい面倒なんだけど
ソースくそ読みづらくなるし
0125NAME IS NULL2009/11/30(月) 03:27:39ID:???
>>123
システムコールが返ってこないから固まるんだろ。
結局OSが悪いだろ。
たかだか2.5MB書き込むだけで数分固まるっておかしいだろ。
0126NAME IS NULL2009/11/30(月) 09:38:17ID:???
>99 名前:NAME IS NULL[sage] 投稿日:2009/10/27(火) 11:22:47 ID:???
>PHP+SQLite を用いたダウンロードカウンター「X-File Access Counter」
>ttp://works.xworks.org/script/01php/xfile-access-counter/
>
>これの非公開バージョンb090909
>http://kissho.xii.jp/1/src/1jyou93396.zip.html
>
>・DBにSQLiteを用いているのが特徴。
>・ベータ版のため、簡単に使える状態では無い。
>
>誰か、使用方法、教えて下さい・・・。

これ、使えている人いる?
機能的に気に入ったので試してみたけど、動きそうで動かない。
0127NAME IS NULL2009/11/30(月) 14:52:58ID:???
どう動きそうで動かないんだよ
エラーが出てるならそこまで書けクズ
0128NAME IS NULL2009/12/01(火) 01:07:53ID:???
A TEXT NOT NULL
B TEXT
UNIQUE(A, B)
この場合って、B=NULLでAが同じ値のデータって許されるの?
っていうかINSERTできちゃったんだけど?
0129NAME IS NULL2009/12/01(火) 01:29:28ID:???
>>128
null = null は真か偽か
0130NAME IS NULL2009/12/01(火) 01:35:25ID:???
NULL == NULL はNULLですよね。
UNIQUE(A, B) <=> A==A AND B==B <=> TRUE AND NULL <=> NULL
ということでINSERTできてしまうのですか・・・
B=NULLでAが同じ値をINSERT出来なくする方法はあるのでしょうか?
0131NAME IS NULL2009/12/01(火) 02:43:26ID:???
uniqueキーにnullを許すのがそもそも間違いなんじゃないの?
0132NAME IS NULL2009/12/01(火) 07:12:24ID:???
UNIQUE 制約があっても複数の NULL を挿入できるのは SQL標準で保証されている。
NULL は UNKNOWN と読み替えたほうが良い。複数の未知の値が一致するとは限らないでしょ?

条件付きインデックスとか式インデックスが使えれば対処方法もあるんだけど、
SQLite だと B にほかで使わない適当なNULL以外の値を入れるくらいしかないのでは。
0133NAME IS NULL2009/12/01(火) 10:07:15ID:???
>>130
NULL==NULLって成立すんの!?
知らんかった
0134NAME IS NULL2009/12/01(火) 21:01:30ID:???
成立ってなんだよ?
NULL=NULL → NULL。true でも false でもない。
たいていは IS NULL との間違いだがね。
0135NAME IS NULL2009/12/01(火) 21:08:34ID:???
>>134
>NULL == NULL はTRUEですよね
って空耳しちゃったんだよ!
0136NAME IS NULL2009/12/05(土) 21:05:02ID:???
sqlite3でupdateとかDB更新すると高い確率でjournalというファイルができてDB本体に書き込まれていないのですがどんな原因が考えられるでしょうか?何回かに1回は正常に更新できてjournalもできません。
0137NAME IS NULL2009/12/05(土) 23:31:11ID:???
>>136
DBに書き込めないって、何を持って書き込めないって言っているの?
sqlite上からSELECTした結果が出ていれば、DB的には書き込めているのだけど?

journalファイルだけしか更新されていないよんという話なら、VACUUMしてみ。
0138NAME IS NULL2009/12/06(日) 01:06:10ID:???
journalファイルだけできていて本体のDBはupdateされてないという状態です。selectしても更新前の値のままです。
なぜか知らないけどjournalファイルをエクスプローラ上で削除するとDBが更新されてる。

何回かやってたらjournalファイルができずに普通に更新されるようになったりとわけがわからないです。
0139NAME IS NULL2009/12/06(日) 01:21:34ID:???
基本的なことかもしれませんが、journalファイルができずに更新できる場合とjournalファイルができてしまう場合はどのように違うのでしょうか?
journalファイルができて残ってしまうということは正常にdb書き込みができていないという理解で正しいでしょうか?
sqliteはpythonからたたいているのですが
db open -> update -> commit -> db close
という順番で、commitは呼び出しています。
0140NAME IS NULL2009/12/06(日) 02:08:55ID:???
beginしてないがな
あとupdateとcommitでエラーが発生していないのは確かか?
0141NAME IS NULL2009/12/06(日) 05:45:42ID:???
馬鹿は使うな
0142NAME IS NULL2009/12/06(日) 09:06:51ID:???
>>140
コメントありがとうございます。
pythonのsqlite3モジュールではconnectionオブジェクトがトランザクションを管理しているのでbeginは呼び出す必要がないと思います(実際そういうメソッドもないです)。
ただ、auto commit modeにしてないときはDB書き込み時だけcommit()を呼ぶのが決まりだそうです。
参考:ttp://xania.org/200711/python-sqlite-gotcha

非常に短いコードですが下でも問題の現象が再現します。journalができて書き込みできてない場合とjournalができず正常に書き込める場合があります。
もしご存知ないようでしたらpython特有の問題かもしれないのでpythonスレ行きます・・・

import sqlite3

db = sqlite3.connect("test.db", isolation_level=None)
db.execute("CREATE TABLE test (id INTEGER, data VARCHAR(10));")
db.commit()

db.execute("INSERT INTO test VALUES (1, 'hello');")
db.execute("INSERT INTO test VALUES (2, 'bye');")
db.commit()

db.close()
0143NAME IS NULL2009/12/06(日) 09:24:02ID:???
Pytonからではなく、sqliteコマンド使った際はどうなるの?
0144NAME IS NULL2009/12/06(日) 09:38:02ID:???
>>143
sqlite3.exe test.db
CREATE TABLE test (id INTEGER, data VARCHAR(10));
INSERT INTO test VALUES (1, 'hello');
INSERT INTO test VALUES (2, 'bye');

まったく問題なく書き込めてます。
ためしに別のマシンで上のpythonスクリプトを走らせてみましたがまったく問題なく書き込めました。

しばらく前にWindows起動時にchkdskが走ってたことがあったからHDDが破損しているのかも。
ちょっとスキャンディスクやってみます。
0145NAME IS NULL2009/12/06(日) 16:08:47ID:???
一応ご報告まで

あれからプロジェクトのフォルダを別のパスへ移動したり別のドライブへ移動したりしましたがその場合はjournalができずに正常に書き込めました。
やはりハードディスクに何か原因があるようです。
コメントくださった方ありがとうございました。
0146NAME IS NULL2009/12/06(日) 18:12:14ID:???
いいえ、どういたしまして。
0147NAME IS NULL2009/12/06(日) 18:19:25ID:???
いいえ、こちらこそ。
0148NAME IS NULL2009/12/09(水) 21:14:21ID:+arAhXjQ
SQLite Release 3.6.21 On 2009 Dec 07 (3.6.21)

Changes associated with this release include the following:

* The SQL output resulting from sqlite3_trace() is now modified to include the values of bound parameters.
* Performance optimizations targetting a specific use case from a single high-profile user of SQLite.
A 12% reduction in the number of CPU operations is achieved (as measured by valgrind).
Actual performance improvements in practice may vary depending on workload. Changes include:
o The ifnull() and coalesce() SQL functions are now implemented using in-line VDBE code
rather than calling external functions,
so that unused arguments need never be evaluated.
o The substr() SQL function does not bother to measure the length its entire input string if it is only computing a prefix
o Unnecessary OP_IsNull, OP_Affinity, and OP_MustBeInt VDBE opcodes are suppressed
o Various code refactorizations for performance
* The FTS3 extension has undergone a major rework and cleanup.
New FTS3 documentation is now available.
* The SQLITE_SECURE_DELETE compile-time option fixed to make sure that content is deleted even
when the truncate optimization applies.
* Improvements to "dot-command" handling in the Command Line Interface.
* Other minor bug fixes and documentation enhancements.
0149NAME IS NULL2009/12/11(金) 16:22:16ID:???
System.Data.SQLite 1.0.65.0 を使用しています。

PRIMARY KEY (id, name, comment)

という制約を CREATE TABLE 時に指定したのですが
id のレコードが重複しただけでエラーになります。

id, name, comment の3つすべてが重複した時点でエラーになる
記述方法はあるのでしょうか?
01501492009/12/11(金) 16:35:55ID:???
すいません気のせいでした。
0151NAME IS NULL2009/12/11(金) 21:44:26ID:hA6Gai8K
pupsqliteで作成したBOOLEAN型のtestというキーがあります。
NULL OKのキーです。

以下のSQLを実行すると構文エラーが発生します。
select * from test_db where delete != ''

TEXT型に同じことを実行した場合はエラーとなりません。
どこが間違えているのでしょうか?
0152NAME IS NULL2009/12/12(土) 09:27:44ID:???
deleteなんてカラム名がやばいンじゃね?
0153NAME IS NULL2009/12/12(土) 09:37:37ID:???
select * from "test_db" where "delete" != ''
0154NAME IS NULL2009/12/16(水) 12:52:24ID:Kj2cXgn5
sqlite3_exec() で、".read hoge.sql"みたいなのが使えないけど
どうすれば使えるようになるかな
0155NAME IS NULL2009/12/16(水) 14:56:52ID:???
.read 'hoge.sql'
0156NAME IS NULL2009/12/17(木) 11:35:41ID:???
sqlite3_execってSQLいてコマンドもつかえるの?
0157NAME IS NULL2009/12/17(木) 14:48:04ID:???
Sqlite 2.8.17なんだけど、AUTOINCREMENTって使えないの?

INTEGER PRIMARY KEY AUTOINCREMENTだと
SQL error: near "AUTOINCREMENT": syntax error
って怒られるんだけど

INTEGER PRIMARY KEY で同じIDが再利用されないようにするには論理削除するしかないってことっすかね?
0158NAME IS NULL2009/12/17(木) 15:00:32ID:???
INTEGER PRIMARY KEY でオートインクリメントになるよ
そういうことでなくて?
0159NAME IS NULL2009/12/17(木) 15:03:43ID:???
あぁ、ゴメンなさい。
判りにくいですね。

オートインクリメントでINSERTした最新のレコードをDELETEして、
またINSERTすると、同じ番号になっちゃうので、それを避けたいということです。

0160NAME IS NULL2009/12/17(木) 15:20:28ID:???
論理削除って削除フラグ付けるって話か
オートインクリメントだけの別テーブル作ってそっちからキーもらってくるとか
0161NAME IS NULL2009/12/18(金) 15:47:33ID:???
>>155
使えないじゃねーか。
0162NAME IS NULL2009/12/18(金) 16:38:33ID:???
すまん、sqlite3.exeと間違えた。
0163NAME IS NULL2009/12/18(金) 19:36:09ID:???
たしかに
0164NAME IS NULL2009/12/19(土) 08:03:04ID:???
このソフト最近知りました。
ところで皆さんはSQLite用のDAO、DTOとかレコードセット(データテーブル)クラスなどは自作ですか?
私も作りたいんですが何か参考になるようなオープンソースなどのソフトは無いでしょうか?
0165NAME IS NULL2009/12/19(土) 09:41:35ID:???
ぐぐって探した
0166NAME IS NULL2009/12/19(土) 10:14:42ID:???
>>164
一通りの言語でDAO/DTO関連の自動生成整ってると思うけど・・・
「IDE SQLite 好きなO/Rマッピングツール」で検索かければ?
0167NAME IS NULL2009/12/21(月) 11:00:18ID:???
SELECT * FROM A;
ってデータベースロックするの?
0168NAME IS NULL2010/01/06(水) 22:33:09ID:awKYQKBZ
最大同時接続数なんチョン?
0169NAME IS NULL2010/01/07(木) 00:57:27ID:???
>>168
同時は無いな。ulimitの上限いっぱいまでいけるだろ。1万くらいだっけ?
0170NAME IS NULL2010/01/07(木) 15:21:14ID:???
>>167
フロントエンドのコマンドプロンプトからだとロックしてるっぽいなぁ
SELECTだけなら大丈夫だろうと安易に実行してたら、
裏で動いてるINSERTとかが失敗してることが偶にある
とりあえず.timeoutとかで逃げてるけど
0171NAME IS NULL2010/01/08(金) 00:57:37ID:VM6S2FNA
SQLite Release 3.6.22 On 2010 Jan 06 (3.6.22)
Changes associated with this release include the following:
* Fix bugs that can (rarely) lead to incorrect query results
when the CAST or OR operators are used in the WHERE clause of a query.
* Continuing enhancements and improvements to FTS3.
* Other miscellanous bug fixes.
0172NAME IS NULL2010/01/09(土) 20:32:50ID:???
次のリリースでsqlite3.dllが500KB超えそうだな
0173NAME IS NULL2010/01/09(土) 20:54:34ID:???
500KBだろうが1MBだろうがいくつでも構わない
0174VIPPPPP2010/01/09(土) 23:05:15ID:s0u/5x2j
□□□□□□□□□□□□□□□□□□□□□□□□□□
□■■■■■□□□□□■■■□□□□■□□□□□■□
□■□□□□■□□□■□□□■□□□■□□□□□■□
□■□□□□■□□■□□□□□■□□□■□□□■□□
□■□□□□■□□■□□□□□■□□□□■□■□□□
□■■■■■□□□■□□□□□■□□□□□■□□□□
□■□□□□■□□■□□□□□■□□□□□■□□□□
□■□□□□■□□■□□□□□■□□□□■□■□□□
□■□□□□■□□■□□□□□■□□□■□□□■□□
□■□□□□■□□□■□□□■□□□■□□□□□■□
□■■■■■□□□□□■■■□□□□■□□□□□■□
□□□□□□□□□□□□□□□□□□□□□□□□□□
□□□□□□□□□□□□□□□□□□□□□□□□□□
0175NAME IS NULL2010/01/15(金) 07:45:37ID:???
他のテーブルのデータで更新したいのですが
update a
set
item1=(select b.item1 from b where a.key=b.key),
item2=(select b.item2 from b where a.key=b.key)
これをもっとスマートにできないでしょうか?

oracleだと
update a
set
(item1, item2)=(select b.item1,b.item2 from b where a.key=b.key)
こんな感じになると思うんですけど
0176NAME IS NULL2010/01/16(土) 00:14:34ID:???
>>175
SQLite Query Language: UPDATE
ttp://www.sqlite.org/lang_update.html
0177NAME IS NULL2010/01/16(土) 11:21:22ID:???
SQLiteとOracleを比べちゃう男の人って・・・
0178NAME IS NULL2010/01/17(日) 07:58:19ID:???
突然何言ってんだこいつと思ったら>>175にカッ飛んだレスしてたんだな
0179NAME IS NULL2010/01/17(日) 10:18:02ID:???
SQLiteのデータベースを大量に作成する運用って、現実的でしょうか?
Webサービスでユーザーごとにデータベースファイルを作成するようなケースです。
0180NAME IS NULL2010/01/17(日) 18:26:25ID:???
へんてこりんな設計だな。好きにしたら。。。
0181NAME IS NULL2010/01/17(日) 19:36:34ID:???
>>179
それぞれのDB間にほぼ関連性が無いのなら、大いに現実的な実装でしょう。
0182NAME IS NULL2010/01/17(日) 21:11:31ID:???
>>179
むしろそういう実装にすべき
SQLiteはデータベースロックをしちゃうんだから、ほかのユーザがロック中でも
影響無くアクセスが出来るようにDBファイルをきちんとわける
0183NAME IS NULL2010/01/17(日) 22:16:20ID:???
Webサービスで使うならばMySQLとかの良くね?
0184NAME IS NULL2010/01/18(月) 01:57:25ID:???
(1) SELECT してレコードの存在チェック(必要に応じて行Lockも行う)
(2) レコードが無ければ INSERT
(3) レコードがあれば UPDATE

じゃなく一文でやるような方法はsqliteにありますか?(mysqlでいうとreplaceのような)
または、前述の方法は妥当ですか?
0185NAME IS NULL2010/01/18(月) 02:00:14ID:???
それともう一つ
とりあえずinsertする→unique制約で怒られる→updateする
とうのもあるんですがこれもありですか?
0186NAME IS NULL2010/01/18(月) 09:57:17ID:???
>>184
0187NAME IS NULL2010/01/18(月) 09:58:40ID:???
途中で書いちゃったぜ

>>184
replace into はsqliteにもあるよ
0188NAME IS NULL2010/01/19(火) 13:56:13ID:???
>>187
ありがとう
0189NAME IS NULL2010/01/19(火) 21:27:11ID:???
System.Data.SQLite 1.0.65.0 を使ってCSVファイルをインポートしたいんですが、可能です?
一行ずつinsertしかないですかね?
0190NAME IS NULL2010/01/21(木) 10:11:40ID:???
哲学的なことに聞こえるかもしれないけど
可能です?とか聞いてくる人には不可能。
0191NAME IS NULL2010/01/26(火) 19:03:04ID:???
REPLACE INTO でレコードを更新した時、更新後のレコードのrowidは
last_insert_rowid()で得られますが、更新前のrowidを取得する方法はありますか?
REPLACEする前にSELECTで取得するしかないでしょうか?
0192NAME IS NULL2010/01/27(水) 16:18:21ID:???
>>191
rowidって更新されるの?しらんかったわ
0193NAME IS NULL2010/01/31(日) 03:28:33ID:???
rowidが更新されるって話は誰もしてないと思うんだが
0194NAME IS NULL2010/01/31(日) 04:34:44ID:???
>>193
更新されることが前提の花氏でしょ?
更新されないならREPLACE後に取ればよくね?
0195NAME IS NULL2010/01/31(日) 10:14:25ID:???
そらそうだ
0196NAME IS NULL2010/01/31(日) 12:09:51ID:???
REPLACEに失敗した時に取りたいとか
にしても書き方が悪いが
0197NAME IS NULL2010/01/31(日) 17:22:12ID:???
System.Data.SQLite 1.0.65.0 を使用しています。
C#のプログラム上からDBファイルを File.Deleteで消そうとすると
まだアクセスしてますって怒鳴られます。

プログラム上から削除する方法やコマンドなどありますか?
0198NAME IS NULL2010/01/31(日) 17:24:19ID:???
DBをcloseしてから削除
0199NAME IS NULL2010/01/31(日) 17:42:24ID:???
>>198
SQLiteConnection を new して
すぐ Close してから
File.Delete したら消えました。

いつも SQLiteConnection のインスタンスを using でくくってるので
自動的に Close してくれてるものだとばかり・・

ありがとうございました。
0200NAME IS NULL2010/02/01(月) 21:38:58ID:???
PupSQLite使ってる方、
「フィールドの編集」画面の
インデックスのチェック欄と実際の設定ちゃんと合ってます?
何か設定してあるのにチェックが入ってないですけど・・・。

ver.1.8.7です。
0201NAME IS NULL2010/02/07(日) 18:55:16ID:???
INSERT って一行ずつしか無理なんだな
0202NAME IS NULL2010/02/08(月) 01:13:36ID:???
うん
0203NAME IS NULL2010/02/09(火) 00:56:39ID:???
>>201
INSERT INTO People(Name, Age) SELECT '田中', 20 UNION ALL SELECT '佐藤', 22 UNION ALL SELECT '山田', 21;
0204NAME IS NULL2010/02/09(火) 03:13:57ID:???
テーブルとかid?の名前って半角の方が無難?
0205NAME IS NULL2010/02/09(火) 22:20:18ID:???
>>204
経験的に半角英数字記号(_とか)を使うことが無難
0206NAME IS NULL2010/02/10(水) 02:00:31ID:???
SQLite的には関係ねえが、糞みたいなラッパーとか糞みたいな環境から
使うときに問題になる可能性があるだけだ。
0207NAME IS NULL2010/02/10(水) 02:45:22ID:???
>>205-206
やっぱそうなんだね、ありがと
0208NAME IS NULL2010/02/10(水) 04:09:30ID:???
あと、当然ながらコードには気を付ける必要あり。
0209NAME IS NULL2010/02/11(木) 19:42:58ID:???
なんかUPDATEに失敗するときがたくさんあるんだけど
気のせい?
0210NAME IS NULL2010/02/11(木) 21:11:42ID:???
ああロックなんとかってエラーがでてたわ
select でループ中にUPDATE しちゃいけないのねorz
0211NAME IS NULL2010/02/11(木) 21:23:47ID:???
そのスキルでよく使えたな
0212NAME IS NULL2010/02/11(木) 21:29:42ID:???
コピペだもん
0213NAME IS NULL2010/02/16(火) 10:27:31ID:???
もうすぐSQiLLってのがでるぞ
0214NAME IS NULL2010/02/16(火) 19:06:30ID:???
DSかっ
0215NAME IS NULL2010/02/17(水) 10:06:57ID:TLiI1xWz
SQLiteManagerで、SQLite3のDBにアクセスしたときに次のエラー
出る人います?

Fatal error: Cannot redeclare class sqlite3 in
/hoge/hoge/SQLiteManager-1.2.3/include/sqlite3.class.php on line 311

SQLite2のDBだと普通に表示される。例のDeprecatedエラーじゃないから
対処方法を捜索中です。

使用環境:
OS:FreeBSD7.1
SQLiteManagerへようこそ バージョン 1.2.3
SQLite バージョン 2.8.17 - 3.6.19 / PHP バージョン 5.3.1

Cannot redeclareでぐぐってみると、インクルードの再定義によるエラーだとか。
includeを探してinclude_onceにするフラグ?
02162152010/02/17(水) 10:38:07ID:???
あげてスマンかった。

ちょっとXDebugでCall Stackをちぇっくしてみた。
1 0.0007 388352 {main}( ) ../main.php:0
2 0.0096 999752 SQLiteDbConnect->SQLiteDbConnect( ) ../main.php:90
3 0.0097 999780 SQLiteAutoConnect->sqliteGetInstance( ) ../SQLiteDbConnect.class.php:78

main.phpのインクルードは、
include_once "include/defined.inc.php";
include_once INCLUDE_LIB."config.inc.php";

defined.inc.phpのインクルードは、
include_once "./include/user_defined.inc.php";

config.inc.phpのインクルードは、
include_once INCLUDE_LIB."grab_global.php";
include_once INCLUDE_LIB."SQLite.i18n.php";
include_once INCLUDE_LIB."SQLiteAutoConnect.class.php";
include_once INCLUDE_LIB."common.lib.php";

ふえるわかめ並みにわけわかめ。


0217NAME IS NULL2010/02/17(水) 10:54:18ID:???
>>215
DBのテーブル名とかカラム名にmysqlの予約語が
混じってんじゃないの?
0218NAME IS NULL2010/02/17(水) 10:55:07ID:???
mysqlの予約語じゃねーよphpの予約語だよ
02192152010/02/17(水) 16:34:57ID:???
>>217>>218
使っていない。というか、sqlite3で新たに作ろうとするとエラーは出ないが
データベースが作られない…orz
うごいてないっぽい・・・・(;~;)

02202152010/02/17(水) 16:41:52ID:???
追加で言うと、PHP5.2.9では問題なく動いていた。
その時に登録されたDBを開こうとするとこのエラーになる・・・。

0221NAME IS NULL2010/02/18(木) 22:32:00ID:????2BP(2)
データの中身に、ピリオド使えたっけ?
出勤管理するんだけど、入力にコロンを使うと年寄が各自で入力なんで無理っぽい。
9:35出勤なら9..35とテンキー入力させて、sqlからデータを吐かせてエクセルで加工しようと思ってる。
だからピリオドは通るのかな?と思ったんだけど、どう?
通らない場合、なにかテンキーにある、通るキーで、エクセルが計算しちゃわないキー教えてほしい
0222NAME IS NULL2010/02/18(木) 22:35:39ID:???
>>221
データベースなんだから、当然データの中身は何でもあり
0223NAME IS NULL2010/02/19(金) 01:56:22ID:???
>>221
エクセル使うなら現在時刻入力ボタンでも作っとけ
0224NAME IS NULL2010/02/19(金) 10:34:48ID:yDgPgBKP
C++でアプリを作成しています。
ローカルデータの管理にsqlliteを使用しようとしていろいろ勉強しています。
データのデータの書き込み読込み、クエリ実行など基本的なことはできました。

基礎的な質問かも知れませんが、テーブルの行数をカウントしたいのですがどのようにすればよいでしょうか?
select文で指定テーブルを、sqlite3_step()で1行ずつカウントするのは可能なのですが、
どうもスマート方法に思えません。 よい関数などありましたらご教授おねがいしたいです。
0225NAME IS NULL2010/02/19(金) 10:47:22ID:???
SELECT COUNT(*) FROM foo WHERE xxx=yyy;

はずしてる?
0226NAME IS NULL2010/02/19(金) 10:48:12ID:???
>>224
select count(*) from hoge;
ってことになると思うが、C++より先にSQLを勉強すべきだよな
0227NAME IS NULL2010/02/19(金) 11:23:48ID:yDgPgBKP
>>225, 226
ありがとうございます。
確かに今回のアプリ作成で急遽SQLの勉強も始めたので、SQLに関する知識も低いですm(_ _)m

最後に質問なのですが、
select count(*) from hoge;
でステートメントを作成後に、
sqlite3_prepare()
sqlite3_step()
sqlite3_data_count()で行数を取得できるのでしょうか?
0228NAME IS NULL2010/02/19(金) 13:11:46ID:???
>>227
sqlite3_data_count()は、sqlite3_step()呼び出した後では
レコード数(行数)ではなくてsqlite3_column_count()の値と
同じカラム数を返すのではないでしょうか?

参考
ttp://www.3rd-impact.net/Document/SQLite/Translation/Current/capi3ref.html#sqlite3_data_count
0229NAME IS NULL2010/02/19(金) 15:48:28ID:???
>>227
sqlite3_step() の後

const int nCount = sqlite3_column_int( statement, 0);

で取れると思う
0230NAME IS NULL2010/02/19(金) 16:46:47ID:???
>>229
constつける意味は?
0231NAME IS NULL2010/02/19(金) 18:02:39ID:???
ん?不用意な変更防止のためなるべく付けるようにしているだけ
絶対間違わない自信があるんならつけなくてもいいんじゃね?
0232NAME IS NULL2010/02/20(土) 10:54:37ID:???
正直C++のconstは汚い
0233NAME IS NULL2010/02/20(土) 21:44:42ID:????2BP(2)
>>223
残念ながらスキルなし・・・
今年初めてWordだのエクセルだの触り始めた。
SQLだってさっぱりわからない。
これから本を買ったり読んだりして覚えたいけど、とりあえずやっつけで
年度末までに出退勤管理ツールつくらなきゃいけない。
開発言語は「なでしこ」しかない。今から理解できるのコレくらい・・・
0234NAME IS NULL2010/02/20(土) 23:15:10ID:???
なんでそんな仕事引き受けたw
0235NAME IS NULL2010/02/21(日) 09:15:43ID:???
>>233
フリーソフトでも探せば有るんじゃないか?EXCELとかで。
0236NAME IS NULL2010/02/21(日) 09:20:24ID:????2BP(2)
出退勤だけじゃないのでorz
仕事は受けるものではなく、押しつけられるもの、という勤め人です。
さすがにVPNはNTTのサービスにしてもらおうと思ってる。構築しようと試行錯誤したけど無理だ。
Win機しかない上にネットワークの知識もない・・・
0237NAME IS NULL2010/02/21(日) 11:25:31ID:???
>>236
素直に外注しろ
通常業務もあって最初から勉強しながらじゃ、動く物ができるまでに3ヶ月はかかるだろ

C++選んでるのも最悪
ビジネスアプリでC++とか不要すぎ
例えるならカラーボックス組立てるために建築重機の免許取ろうとするようなもん
0238NAME IS NULL2010/02/21(日) 12:07:26ID:???
スポーツ選手と同じで才能のない奴はプログラミングできないよ
0239NAME IS NULL2010/02/21(日) 12:12:17ID:???
>>236
Linux+OpenVPNですぐに張れるよ。ネットワークの知識があれば、結構簡単。
出退勤じゃー、もっとスクリプタブルな言語の方がいいんじゃまいか?
Wind○wsしかないんだとしても、PHPくらいは動かせるだろ?Webアプリにしとけって。
0240NAME IS NULL2010/02/21(日) 13:27:37ID:???
そんなスキルがあれば上のような事情にはならないと思うが・・・

おれも外注に頼んだ方が結局コストが安くすむと思うね。
0241NAME IS NULL2010/02/21(日) 16:43:45ID:????2BP(2)
>>224のひとではない
「なでしこ」はたしかDelphi系だったと思う
外注はまったく考えてない模様。いっそ自分で外注出してこっそり始末をつけたくなってきた
0242NAME IS NULL2010/02/21(日) 18:29:34ID:???
>>241
別人か
それじゃ外注以外完全に手遅れじゃね
要件が全く見えてこないからいい加減だが、普通の奴なら半日で作っちまいそうな話だけどな
0243NAME IS NULL2010/02/21(日) 19:02:35ID:???
>>236
C++できるならxamppをDLしてphp覚えつつで適当にやるのが一番楽だけどね。
(最低限のhtmlができるなら?という条件付き&DBがmysqlになりそうけど)

ただ、xampp知らなそうなのでhtmlもできないとして、現実的なのはVBS覚えて
エクセルのマクロを書く。

sqliteとのコネクトがあってオフィスアプリと連携で言語を覚えるのが面倒なら
「なでしこ」が以外とおすすめ。(コピペで動く)

入力はドットもなしの4or3桁数字を正規表現でやればよくね?

webアプリ経験者の初心者以外なら環境構築から作成まで半日でできるな。
0244NAME IS NULL2010/02/22(月) 08:54:50ID:eX4n3ie9
VPNって言ってるから拠点は複数あるんだろうし、出退勤と言ってるくらいだから
まだ何も無いのだろうね。
この場合、SharePointで構築するのがお勧めなんじゃないかな。
タイムカードのような有りがちな物を外注するメリットは無いと思う。
0245NAME IS NULL2010/02/22(月) 14:22:09ID:???
>>244
少しは質問者の要件見てやれよw
:の入力も不安視される年寄りにSharepointは使えないし
なでしこしかやった事無い奴じゃ1ヶ月で年寄も使えるようなSharepoint環境を構築するのも無理
それにSharepoint一本で行こうとすると、その内数百万の出費と言う壁に阻まれる
0246NAME IS NULL2010/02/22(月) 21:28:26ID:????2BP(2)
なんとか見た目つくってきました
データ押し込めるような見た目とそれをcsvに保存して開くものと。
あとはエクセルでマクロ使って時間計算をできるかな・・・とそっちの方になやむことになりそうです。
タブキー付テンキーとプルダウンメニューをマウスか矢印キーだけで入力させる方向でなんとか。

プログラムの才能とかネットワークを理解する才能が欲しいですorz
ネット関連は10年くらい前にISDNのころAnHttpdで鯖立ててcgi設置練習した程度のものなので
0247NAME IS NULL2010/02/23(火) 06:09:22ID:???
興味のある要件だから今後も報告してほしいな
すれ違いかな?
0248NAME IS NULL2010/02/23(火) 11:35:49ID:????2BP(2)
今知ったけどSQLの構文で置換とか計算できるのか・・・
なんかリファレンスとか本とかかったほうが良いよね
今後何やらされるかわからないし
0249NAME IS NULL2010/02/23(火) 14:09:13ID:???
SELECT 4 * 5;

とか

SELECT REPLACE('ABCDEF', 'AB', 'XY')

なんかのこと?
0250NAME IS NULL2010/02/24(水) 15:57:07ID:????2BP(2)
さきほどSQLITE入門 という本を購入しました
ついでになでしこ公式本も手に入れました
作りかけデータは会社のPCにあるので明日チャレンジしますー
とりあえずできたものを半月〜一カ月、誰かに入力してもらい、
色々と変更するべきところを変更し、と言う作業になりそうです。

どこの会社もその業界ならではの形式があるので、誰かそういうものをフリーソフトで出してほしいものです。
出退勤+入出庫時間+燃料+行先 現状ここまで作り込みました。
行先別給与自動計算をつけたいが実装に悩んでます(給与一覧がないw)

basicの方が簡単じゃないのかって気分になるのがとってもいやですorz
0251NAME IS NULL2010/02/25(木) 08:18:21ID:???
そういやSQLiteの新しい本が出てたな
買った人いる?
0252NAME IS NULL2010/02/25(木) 16:59:51ID:???
>>251
自著宣伝乙
0253NAME IS NULL2010/02/25(木) 22:35:42ID:???
SQLiteがサーバクライアント方式になるラッパーを作った。
0254NAME IS NULL2010/02/28(日) 17:09:30ID:???
SQLiteをWEBで使ってるけどトラブルがぜんぜんないのな
年に1回TKSQLite使ってバキュームするだけ
データ5万件くらいならこんなもんか
0255NAME IS NULL2010/03/03(水) 01:22:12ID:7qgMi6Uf
>>254
5万件ならExcelでも余裕だしな。
0256NAME IS NULL2010/03/03(水) 01:42:51ID:???
エクセルわらた
0257NAME IS NULL2010/03/03(水) 10:06:50ID:???
たしかにテーブルがいっこなら5万件程度エクセルで十分だけどさ
0258NAME IS NULL2010/03/03(水) 11:47:35ID:???
Webでエクセル使うの難しい
0259NAME IS NULL2010/03/03(水) 14:26:31ID:???
まぁ難しいというか面倒くさいけど出来ない話ではないな
0260NAME IS NULL2010/03/03(水) 22:12:33ID:???
開発案件でsqliteを使ってみたいが金にならんから止めておこうという話になったw
0261NAME IS NULL2010/03/04(木) 00:34:43ID:???
バックアップ系をオラクルで固めてメインはSqliteにすればいいんだよ
0262NAME IS NULL2010/03/05(金) 16:55:52ID:???
初めまして。当方、日曜プログラマのSQLite初心者です。
「作業ファイルにためた更新データをマスターファイルに反映させたい」
のですが、うまくSQLが組めません。

たとえば

*MasterFile(主キー,ID)
 ID, 氏名, 住所
 1, 伊藤, 東京都
 2, 田中, 埼玉県
 3, 越智, 京都
*WorkFile(主キー,ID)
 ID, 氏名, 住所
 1, 田中, 岐阜県

とあった時に、
マスターファイルの2番目の行の住所を「岐阜県」に置き換える
場合、どういうSQLを組めばいいのでしょうか?

  UPDATE MasterFile SET MasterFile.住所 = WorkFile.住所

とまでは、直感的で浮かんだのですが、
後半のWHERE句の書き方がまったく分かりません。

開発環境は、FireFoxアドオン版のSQLite Managerで、
MasterFileとWorkFileは同一のファイルにあります。

場違いな質問かもしれませんが、よろしくお願いします。
0263NAME IS NULL2010/03/05(金) 17:51:16ID:???
>>262
例えると
物理のスレで、数字の読み書きが出来ないのですが、足し算をするにはどうすればいいでしょうか?
と聞いてるようなものです。
0264NAME IS NULL2010/03/05(金) 18:31:51ID:???
>>263
 やっぱりそうでしたか。
 該当する場所へ移動します。レスをありがとうございました。
0265NAME IS NULL2010/03/08(月) 11:32:39ID:???
いや聞くんじゃなくてちょっと調べりゃわかるだろう
WHERE句はSELECTと同じなんだから、まずSELECTできるように書いてみては
0266NAME IS NULL2010/03/08(月) 14:12:06ID:???
試行錯誤という言葉をしらないんだな.
0267NAME IS NULL2010/03/11(木) 14:57:30ID:???
ケチケチしてんなや
と思ったけど、この場合考えられる用件は二種類あるんだよな
「重複する氏名を見つけて住所を書き換える」作業をSQLiteのSQL文だけでやるんだとしたら、ちょっと面倒だな
0268NAME IS NULL2010/03/11(木) 15:48:50ID:???
超基本構文でやれるが・・・
0269NAME IS NULL2010/03/11(木) 21:15:49ID:???
ならケチケチしてんなや
0270NAME IS NULL2010/03/12(金) 04:46:50ID:???
>>269
いいからお前が答えとけ
「ちょっと面倒」で済むんだろ?
ケチケチしてんなや
0271NAME IS NULL2010/03/12(金) 04:54:19ID:???
厨房もSQLite使えるんだ
0272NAME IS NULL2010/03/12(金) 05:13:16ID:???
>>261
なるほど
案外変なトラブルがなくていいかもね
0273NAME IS NULL2010/03/12(金) 06:22:30ID:obqGxIVQ
SQLite Release 3.6.23 On 2010 March 09 (3.6.23)

Changes associated with this release include the following:

* Added the secure_delete pragma.
* Added the sqlite3_compileoption_used() and sqlite3_compileoption_get() interfaces as well as the compile_options pragma and the sqlite_compileoption_used() and sqlite_compileoption_get() SQL functions.
* Added the sqlite3_log() interface together with the SQLITE_CONFIG_LOG verb to sqlite3_config(). The ".log" command is added to the Command Line Interface.
* Improvements to FTS3.
* Improvements and bug-fixes in support for SQLITE_OMIT_FLOATING_POINT.
* The integrity_check pragma is enhanced to detect out-of-order rowids.
* The ".genfkey" operator has been removed from the Command Line Interface.
* Updates to the co-hosted Lemon LALR(1) parser generator. (These updates did not affect SQLite.)
* Various minor bug fixes and performance enhancements.
0274NAME IS NULL2010/03/14(日) 20:58:13ID:???
dll500kb超えたか
0275NAME IS NULL2010/03/16(火) 12:39:54ID:???
もうだめポ
0276NAME IS NULL2010/03/17(水) 09:05:47ID:???
っ Linux, *BSD
0277NAME IS NULL2010/03/21(日) 18:59:04ID:????2BP(2)
web鯖がsqliteに対応してないといわれてしょぼーん・・・
MySQLでつくれって殺生な・・・
0278NAME IS NULL2010/03/21(日) 19:03:46ID:???
そんな殺生かい?
0279NAME IS NULL2010/03/21(日) 22:57:15ID:???
MySQLみたいなカスライセンスのカスDBなんて触れたくも無い
0280NAME IS NULL2010/03/21(日) 23:24:29ID:???
えっ、そうなの?
0281NAME IS NULL2010/03/22(月) 11:32:29ID:???
WebでSQLiteは使えなくはないけど、見極めは大切
数百アクセス/hみたいなアクセスが少なければ十分SQLiteでいける。
0282NAME IS NULL2010/03/22(月) 22:38:22ID:???
数千アクセス/sは何がいい?
0283NAME IS NULL2010/03/22(月) 22:45:44ID:???
Oracleじゃね?
ていうか、分散させるから普通そこまでいかんと思う
0284NAME IS NULL2010/03/23(火) 00:25:46ID:???
ttp://www.ddbank.net/cgi-bin/webapp/wiki.cgi?page=mixi%A5%CD%A5%C3%A5%C8%A5%EF%A1%BC%A5%AF%8E%A5%A5%B2%A1%BC%A5%E0%A4%CE%B1%BF%CD%D1%B4%C4%B6%AD
キャッシュ(KVS)、パーティショニング、レプリケーション(スレーブ参照系)、クラスター

DBがメモリーに載っちゃうぐらいのサイトなら関係ないとおもう。
0285NAME IS NULL2010/03/23(火) 01:21:26ID:???
数千アクセス/sを捌けるシステムは無いだろ
滅茶苦茶単純かつ小規模なテーブルへのクエリならどのDBMS(Postgre除く)でも捌けるが
実用レベルの処理なら全部で無理
0286NAME IS NULL2010/03/23(火) 10:41:54ID:???
Postgreって表記で使ったこと無いのがわかるw
0287NAME IS NULL2010/03/23(火) 10:45:08ID:???
アクセスっていうか更新が多いWebアプリでSQLiteだとすぐ辛くならないか?
並列処理が前提のWeb系でSQLiteを好き好んで使うやつの気持がまったくわからんのだが…
0288NAME IS NULL2010/03/23(火) 11:02:20ID:???
SQLiteは何度もガイシュツのようにファイル操作用のライブラリに過ぎないからねい。
同時アクセスに対してはOS提供のファイルロックしかやりようがないので、
性能云々言える話じゃなくなる。
0289NAME IS NULL2010/03/23(火) 13:05:44ID:???
>>286
なにこいつ
0290NAME IS NULL2010/03/23(火) 13:34:33ID:???
iteとかMyって言うのかよw
0291NAME IS NULL2010/03/23(火) 14:11:09ID:???
なにこいつ
0292NAME IS NULL2010/03/23(火) 14:23:38ID:???
要するに、略すなら”Postgres”ってことでしょ
0293NAME IS NULL2010/03/23(火) 16:06:48ID:pSbKS93z
>>287
規模の問題。
YahooがSQLiteで構築されていたら「この人たち大丈夫だろうか?」と思っても
無理はないだろうけど、個人や中小企業のサイトならメリットがある。
特に専用のサーバーを持たずレンタルサーバーでの運用なら、バックアップが
単純で何かあってもすぐメインテナンス出来るのが良い。
よくオープンソース系の放置気味サーバーで、「データぶっ飛びました復旧の
見込みはありません」と書いたまま数年そのままというのを目にするけど、
彼らがSQLiteを採用してたらどうだっただろう?
cronで単純にバックアップしていて、次の日にはたとえ一週間分のデータが
消えたとしても残りは復旧出来ていたと思う。
こういう手軽さがSQLiteの強みだと思う。
そして、同時書き込みはそれほど発生せず、たとえ発生することによって100ms
待たされてもユーザーは思ったほど気にしないものだ。
0294NAME IS NULL2010/03/23(火) 16:39:43ID:???
プロセスごとにボコボコDB作って1h毎に集約すればよいのだよ
0295NAME IS NULL2010/03/23(火) 17:44:05ID:???
PosなんたらSQLの存在意義が分からない
遅いしできない事多いし日本以外じゃ使われてないしでほんと不思議
GPLがイヤなら素直にSQLite使えばいいやん
どうせ大した事せんくせに
0296NAME IS NULL2010/03/23(火) 22:03:00ID:???
Firebirdも忘れないで><
0297NAME IS NULL2010/03/23(火) 22:22:05ID:???
FirebirdはPなんたらの五倍位普及してるでしょ
0298NAME IS NULL2010/03/23(火) 22:49:53ID:???
>>293
SQLite使ったってバックアップ自体しなければ意味がない。
SQLiteだって他だってバックアップ&レストアなんてほとんど手間や技術は変わらない。
0299NAME IS NULL2010/03/23(火) 22:51:34ID:???
何いってんのこの人
0300NAME IS NULL2010/03/23(火) 23:57:17ID:???
>>293
差分バックアップやらバイナリログやらは
他のDBの方がらくちんだろ
0301NAME IS NULL2010/03/24(水) 00:17:25ID:???
何いってんのこの人
差分バックアップなんて問題にされて無いだろ
0302NAME IS NULL2010/03/24(水) 00:32:34ID:???
>cronで単純にバックアップしていて、次の日にはたとえ一週間分のデータが
>消えたとしても残りは復旧出来ていたと思う。
>こういう手軽さがSQLiteの強みだと思う。
↓
>SQLite使ったってバックアップ自体しなければ意味がない。
会話になってないwww
0303NAME IS NULL2010/03/24(水) 06:21:53ID:???
ヒント:Lite
0304NAME IS NULL2010/03/24(水) 10:11:56ID:???
>>293
毎日丸ごとバックアップするのは容量がもったいなくないか?
毎日差分バックアップした方がリソースも食わないしいいんじゃないか?
手軽だし。
0305NAME IS NULL2010/03/24(水) 11:42:30ID:???
>>293
cronで単純にバックアップって、たとえばcpするのとpg_dumpするのとで
手間に差があるとは思えないけどなぁ。
0306NAME IS NULL2010/03/24(水) 13:19:04ID:???
>>293
cpでコピーするのは危険だからやめた方がいい気がする。
コピー中にアクセスされたらやばいっしょ
0307NAME IS NULL2010/03/24(水) 13:53:27ID:???
>>306
でも、SQLiteではdumpだろうがcpだろうがOSのファイルロックに全面依存なのは
変りないからなぁ。その辺はOSのファイルロックを信頼するしかないかと。
0308NAME IS NULL2010/03/24(水) 15:42:16ID:???
cpでのコピーだと、ファイルロックしないから。
0309NAME IS NULL2010/03/24(水) 16:14:22ID:???
昨日から会話が成立してないのはpgユーザーか
迷惑な存在だ
0310NAME IS NULL2010/03/24(水) 16:35:20ID:???
迷惑なのはお前一人だろ
0311本田2010/03/27(土) 00:33:56ID:qqcAE8kL
>>293
zfsは任意の時間のファイルシステム自身のスナップショットを取れるようになっている。
バックアップ機能の貧弱なDBMSはそれ自身のバックアップ機能に頼らす、
新しいファイルシステムのバックアップ機能を使ったほうがベターかもしれない。
0312NAME IS NULL2010/03/29(月) 02:44:54ID:???
delete from hoge a where exists (select 1 from hoge b where a.id = b.id) が怒られるんだけどなんでじゃろ…?
0313NAME IS NULL2010/03/29(月) 08:29:02ID:???
>>312
delete文のテーブルにエイリアスが使えないとかじゃね?知らんけど
0314NAME IS NULL2010/03/29(月) 20:46:41ID:???
>>312
delete from hoge a where a.id in (select b.id from hoge b)

多分これは通ると思う。

詳細な理由は分かりません。多分、セミ結合が関係してるんでしょう。
0315NAME IS NULL2010/03/29(月) 20:50:14ID:???
>>313 >>314
うぎぎありがとう… 一位制約かけてCONFLICTのときREPLACEする方向でいいやにすることにしました…
0316NAME IS NULL2010/03/30(火) 09:09:50ID:???
これってファイルシステムもOSも無いシステム(要するにメモリのみ)でも使えるの?
0317NAME IS NULL2010/03/30(火) 09:32:25ID:???
メモリだけでどうやって使うの?
0318NAME IS NULL2010/03/30(火) 10:08:51ID:???
>>317
ファイル名を「:memory:」と指定するとインメモリDBとして動作するじゃない
じゃぁ、ファイルシステム無しでメモリヒープだけで動いてくれないかと
0319NAME IS NULL2010/03/30(火) 21:19:43ID:???
sqlite自体がOS上で動くソフトウェアなのにOSも無しにどうやってsqlite動かすの?
ハイパーバイザー型のsqliteとか聞いたこと無いし
0320NAME IS NULL2010/03/31(水) 00:38:57ID:???
OSっつってもファイルシステムとmutexぐらいでしょ、使うの
で、ファイルシステム使わないオプションが既にあって、
OS無しならそもそも排他制御も不要だから、コンパイルスイッチで
ちょいちょいとすれば静的リンクできないかなと思って
0321NAME IS NULL2010/03/31(水) 01:30:46ID:???
そういえば知り合いがファイルシステム無しで動かしてたわ。
OSはitronっぽい何かを使ってるらしいのでようわからんけど
FATすら高くて買えない小さいプロジェクトって言ってたな。
0322NAME IS NULL2010/03/31(水) 01:33:31ID:???
発言が間抜けすぎ
0323NAME IS NULL2010/03/31(水) 08:50:26ID:???
コンピュータというかプログラムの動作原理を理解していない人が混じっているのは
春先のせいなのか

# 釣りだよね?釣りと言ってくれ
0324NAME IS NULL2010/03/31(水) 09:18:28ID:???
釣り以外のなにものでもないだろ
0325NAME IS NULL2010/03/31(水) 09:44:20ID:???
uITRONで動くならなんとかなるかな
よし、ソース眺めてコンパイル頑張ってみる

まぁ最近は何でもOS載ってるしね
想像できないのも無理ないさ
0326NAME IS NULL2010/03/31(水) 10:22:52ID:???
メモリだってOSからもらう
組み込みでこれのソース使うならそれもエミュレートした関数用意しないとね
0327NAME IS NULL2010/03/31(水) 10:25:05ID:???
uITRONだってOSだろ
0328NAME IS NULL2010/03/31(水) 10:38:11ID:???
C/C++のライブラリなんだからソースぐらい眺めてからモノ言えよとは思う
OSありき前提のシステムコールをバリバリ使ってる時点でもうね…
0329NAME IS NULL2010/03/31(水) 11:32:54ID:???
システムコールなんて代表的なのが30個くらい
マイナーなの入れてもせいぜい300程度だし
自分でOSのフリをすればなんとでもなるよ
0330NAME IS NULL2010/03/31(水) 11:35:22ID:???
>>326
いや、組込み屋なら自分で作ったの持ってるだろ
0331NAME IS NULL2010/03/31(水) 12:08:02ID:???
>>329-330
そんな自力でなんとかしちゃうコア層がエンジニア全体の何割いるんだか
0332NAME IS NULL2010/03/31(水) 12:14:33ID:???
組込み系では簡単OSぐらいなら自分でこさえる場合もままある

ちなみに仮想メモリを使わないシステムならメモリ確保にOSは関係ない
強いて言えばリンカとスタートアップルーチンとmallocのお仕事か

まぁこれ以上は板違いだね
0333NAME IS NULL2010/03/31(水) 12:16:39ID:???
SQLiteのくせに会話が全然ライトじゃなくてついていけない
0334NAME IS NULL2010/03/31(水) 22:41:55ID:???
そんなに簡単なら自分でOS不要のsqlite作れば良いのに

ただ316を見る限り現行のsqliteをOS無しで動かそうとしてるみたいだけど
0335NAME IS NULL2010/03/31(水) 23:17:48ID:???
>>332は「簡単“な”OSぐらいなら」と書こうとしたんじゃないか、文脈から察するに。
0336NAME IS NULL2010/03/31(水) 23:24:45ID:???
簡単レシピっていうのは、簡単なレシピのことだよな
0337本田2010/04/01(木) 00:57:14ID:njYnAK3+
SQLite Release 3.6.23.1 On 2010 March 30 (3.6.23.1)
Changes associated with this release include the following:
* Fix a bug in the offsets() function of FTS3
* Fix a missing "sync" that when omitted could lead to database corruption
if a power failure or OS crash occurred just as a ROLLBACK operation was finishing.
0338NAME IS NULL2010/04/02(金) 17:00:51ID:kjEmh5Hv
MFC上でSqliteを使用しています。
UNICODEで日本語の文字列を使用した場合、どうも文字化けを起こしているようなのですが
原因を教えていただけないでしょうか?


・書き込み
CString strBuf = _T("あいうえお");
sqlite3_bind_text16(xxx,1,(void*)(LPCWSTR)strBuf,-1,SQLITE_STATIC);


・読込み
const void* pVal = sqlite3_column_text16( xxx, 1 );
CString strBuf = CString( (WCHAR*)pVal );

TkSQLite で見たところ書き込みの段階で文字化けしているようです。
0339NAME IS NULL2010/04/07(水) 22:06:04ID:???
UnicodeとUTF-8の区別はついてる?
0340NAME IS NULL2010/04/07(水) 23:04:37ID:cFdqstGp
ついてるだろな。
SQLITE_TRANSIENTでどうなるか試してみてほしいな。
0341NAME IS NULL2010/04/13(火) 01:52:09ID:???
WindowsMobileで使うならsqliteとsqlceのどちらがいいんだろう
0342NAME IS NULL2010/04/13(火) 06:35:40ID:???
その両方を査定したことのある人って少ないだろうし
ム板か携帯コンテンツ板かどっかにあるだろうWM開発スレで聞いた方が、人に当たる確率高いんじゃないの
0343NAME IS NULL2010/04/13(火) 17:11:50ID:???
カラム数6つ、データ数4万ぐらいのDBがあります。メモリDBとして使用してます。
SELECT で4つのカラムに該当(全てINT型)するデータを取得するという処理を複数回(10万回ぐらい)します。

これと、上記のデータをリストで作成して、ループ文で回して取得する2種類の実行時間を測定してみたところ、
4倍ほどリストのループ検索の方が早かったのですが、これぐらいの単純なDBなら自作の方が早いのでしょうか?

http://www.sutosoft.com/room/archives/000482.html
こういうのも実験後で見つけました。
0344NAME IS NULL2010/04/13(火) 17:17:27ID:???
少ないクエリで複雑な条件のものを手早く持ってくる、ほうが得意
0345求む勇者2010/04/16(金) 14:14:10ID:C4ymkbtz
ヒマで親切な勇者求む
jqueryのflexigridを使おうとしています。
mysqlからphpでjson形式で出力してものを読んでいるようですが、これをsqlite3を使うように改造しようとしています。
が!できないんです。負け犬です・・・。

flexigrid
http://www.flexigrid.info/
上記の Show sample PHP code for JSON にコードがあります。

教えてくれた人には50000ペリカ差し上げます。
0346NAME IS NULL2010/04/16(金) 17:59:27ID:???
スレ違い
失せろ
0347NAME IS NULL2010/04/16(金) 20:11:30ID:C4ymkbtz
そんなこと言わないで教えてくださいよ
0348NAME IS NULL2010/04/16(金) 20:39:56ID:???
スレ違い
0349NAME IS NULL2010/04/17(土) 08:39:28ID:???
50000ペリカっていくらだよ?
0350NAME IS NULL2010/04/17(土) 09:06:42ID:???
スレ違いですれ違ってるな・・・
0351NAME IS NULL2010/04/17(土) 13:22:36ID:???
2〜3万件のテーブルでも重くならなくて
フィルタが使えて(もしくはSELECTの結果から編集可)
列の幅をテーブルごとに保存できて
セルに画像表示できるsqliteのフロントエンドありませんか?
0352NAME IS NULL2010/04/17(土) 13:49:17ID:???
無ければ自分で作ればよろし
03533512010/04/17(土) 14:06:58ID:???
そうですね
そのほうが早そうです
0354NAME IS NULL2010/04/17(土) 17:27:09ID:???
>>351
sqliteコマンドが使えるんじゃないか?
出力にフィルタもかけられるし
0355NAME IS NULL2010/04/17(土) 19:28:49ID:???
画像表示無理だろ
0356NAME IS NULL2010/04/17(土) 19:58:25ID:???
>>355
そういうフィルタ書けばよくね?
0357NAME IS NULL2010/04/17(土) 20:48:25ID:???
こんなもん1時間もありゃ書けるだろ
作れよ
0358NAME IS NULL2010/04/17(土) 21:46:32ID:???
もうすぐ一時間だけど出来た?
0359NAME IS NULL2010/04/28(水) 00:29:12ID:IcHPXx21
>357 の1時間て長いな
0360NAME IS NULL2010/04/28(水) 01:35:56ID:???
ずっと待ってたのかよ
暇人だなぁ
0361NAME IS NULL2010/04/28(水) 02:14:49ID:???
なぜこの流れで作ってもらえると勘違いできるんだろう
0362NAME IS NULL2010/04/28(水) 10:42:36ID:???
なぜこの流れで>>357が叩かれている事に気付かないんだろう
0363NAME IS NULL2010/04/28(水) 10:49:56ID:???
.NETでならマジに1時間で作れるが
0364NAME IS NULL2010/04/28(水) 12:52:58ID:???
まあこのくらいなら使い捨てでもさっくり自分で作った方がいいね
0365NAME IS NULL2010/04/28(水) 13:46:54ID:???
さすがに1時間は無理だが連休使えば作れるな・・・
よし、ちょっと待ってろ
0366NAME IS NULL2010/04/28(水) 21:45:47ID:???
いや別にいらんし
0367NAME IS NULL2010/05/03(月) 20:48:04ID:???
そろそろ諦めたか。DataGridViewは細かいことやろうと思うと、そこそこスキルが要求されるからな。
0368NAME IS NULL2010/05/04(火) 07:56:56ID:???
コントロールの継承とかオーナードローとか基本中の基本じゃないの
0369NAME IS NULL2010/05/04(火) 09:55:23ID:???
元の要求仕様は単純なんだからDataGridView使うことも無いわ
0370NAME IS NULL2010/05/04(火) 15:51:16ID:???
>>369
それじゃ1時間じゃ作れんな
0371NAME IS NULL2010/05/04(火) 17:00:04ID:???
君はそうなのかもしれんね
0372NAME IS NULL2010/05/04(火) 17:26:58ID:???
おれなら53分あれば十分
0373NAME IS NULL2010/05/04(火) 17:34:11ID:???
マダーチンチン
0374NAME IS NULL2010/05/05(水) 00:19:03ID:???
>>371
なら1時間で作りきるプランを示せよ
成果物はイラネ
0375NAME IS NULL2010/05/05(水) 18:32:44ID:???
GTK使えば1分で出来るな。
0376NAME IS NULL2010/05/05(水) 20:47:55ID:???
>>375
まだぁ?
0377NAME IS NULL2010/05/06(木) 16:40:09ID:???
ブラウザベースなら5分で出来るわな。
まぁ俺の5分はやる気出すまでが長いんだが。
0378NAME IS NULL2010/05/06(木) 16:46:01ID:???
>>377
>2〜3万件のテーブルでも重くならなくて
で無理
ページングとかの糞UIはありえないから
0379NAME IS NULL2010/05/06(木) 18:49:10ID:???
口だけ番長
0380NAME IS NULL2010/05/06(木) 22:57:42ID:???
いくらSQLiteでもたかだか3万件で重くなることはないだろ。
0381NAME IS NULL2010/05/06(木) 23:15:39ID:???
>>380
馬鹿乙
0382NAME IS NULL2010/05/06(木) 23:56:22ID:???
>>378
要はスクロールで画面遷移なしに2〜3万件のエンティティが表示されりゃいいんだろ?
ちゃんとそこまで考えて5分だぜ。
まぁ・・・IEに対応すると60分くらいは必要になるけど・・・。
0383NAME IS NULL2010/05/07(金) 07:07:34ID:???
>>382
よろしく
0384NAME IS NULL2010/05/07(金) 12:13:12ID:???
まーだ誰かが作ってくれるって幻想抱いてんのかよ
0385NAME IS NULL2010/05/07(金) 15:05:57ID:???
Linuxなら実際5分で出来るけどな。
0386NAME IS NULL2010/05/07(金) 18:35:30ID:G5v/kBgC
> 【ADO.NET provider】 System.Data.SQLite

のVS2010版はやくしろ
0387NAME IS NULL2010/05/08(土) 10:48:54ID:???
>>385
※ Linux ※ って凄いなぁ・・・笑
OS なのにデーターベース機能もあるんだぁ。。
0388NAME IS NULL2010/05/08(土) 10:54:31ID:???
>>387
今時OSにデータベース機能があるのは当たり前だろ
MacOS XやAndroidなんかもデータベース機能(SQLite)持っているし
0389NAME IS NULL2010/05/08(土) 11:57:09ID:???
>>388
ごめんごめん。
俺てっきり Linux には DB が組み込まれてるんだと思ったわ。
なるほどねぇ。そういうレベルの話かぁ。
0390NAME IS NULL2010/05/08(土) 12:18:53ID:???
俺のWindows98SEもデータベース機能持ってるぜ?sqlite.dllダウンロードしたからな
0391NAME IS NULL2010/05/08(土) 14:12:57ID:???
組み込まれてるだろ
Androidだってそうだ
0392NAME IS NULL2010/05/08(土) 18:08:30ID:???
揚げ足取りでごめんな。
「Linux ならできるぜっ」って言い回しに反応してしまった。(性格がちっちゃいので)
「(おれば)Sqlite3 で5分でできる」ってならなんともおもわなかったんだけどさ。

というのもLinux といえば Kernel 2.6.xxとかの部分を指すんじゃないかいな?

実際は PC-Linux, Vine, Ubuntu, CentOS, Fedra, Android,...etc...
の形になるからそんな尺治定規な事いうなよっ・・・って言われるとそれまでだが、喧嘩ウルキはさらさら無いので誤解しないでくだされ。
0393NAME IS NULL2010/05/08(土) 22:08:03ID:???
カーネルだけインストールして「Linux入れた」って人は最近じゃ珍しい希少な硬派。
0394NAME IS NULL2010/05/08(土) 22:45:32ID:???
ま、そなんだけど、ディストリビュータで使い勝手や構成も変わってくるから Linux というより Fedra 10 だけどとか、Kubuntu なんだがって方がしっくり来る。
Linux といってもどれやねんって Linux 使いは思わないのかな。
中には Android よろしく Embedded Linux ってやつもいるだろ?
0395NAME IS NULL2010/05/08(土) 22:47:14ID:???
Fedra .. Fedora うーん、なんでこんなタイプミスを。
フィドーラな Linux 使いに怒られるわ。
0396NAME IS NULL2010/05/08(土) 22:56:30ID:???
別にtypoはどうでも良いけど>>395にイラっときた
0397NAME IS NULL2010/05/08(土) 23:10:24ID:???
うっ、
かな書きのところか、言い回しか?
後者ならしかたないな。

昨年 Fedora をちょっといじってたとき「はて、これってどう発音するんだろ?」と語学に弱い私のオツムを刺激。
フェドラ?かなと思い、気になって調べてみたらフィドーラが表現的に一番近いのかな。

しかし SQlite 3 は iPhone でも動くし空気みたいな存在だねぇ。
0398NAME IS NULL2010/05/09(日) 09:37:11ID:???
typoってなに?チンポ?
0399NAME IS NULL2010/05/09(日) 13:59:42ID:???
SQLiteはオープンソースなんだから、iPhoneで使ったらダメだろ。
使いたいならiPhoneも無料にしろ。
0400NAME IS NULL2010/05/09(日) 14:05:45ID:???
>>399
失せろ
0401NAME IS NULL2010/05/09(日) 19:53:29ID:???
>>399
カワイソ頭っすね
0402NAME IS NULL2010/05/10(月) 21:56:12ID:???
入れないと金魚が死んじゃうよ
0403NAME IS NULL2010/05/11(火) 23:29:07ID:???
ここでの質問が不適切であれば、対応するスレッドをお教えください。

質問事項
たとえば以下のような3つのテーブルがあるとします。


person_name_table (人の名前のテーブル)
PID PNAME
1  麻生
2  海部
3  鳩山

attr_name_table (人の属性のテーブル)
AID ANAME
1  自○党
2  民○党
3  漫画好き
4  指導力疑問

person_attrname_table (人(ID)と属性(名前)の組のテーブル)
PID ANAME
1  自○党
1  漫画好き
2  自○党
3  民○党
3  指導力疑問


このとき、人(ID)と属性(ID)のテーブル「person_attr_table」を新たに
作ろうとしたときはどのようなコマンドを用いればよいでしょうか。
感覚的には person_attrname_tableのANAME列をAID列に置換できれば
よいと思っていくつか試してみたのですが、うまくいかず。
(そもそもこのような操作をsqliteでやることが間違いでしょうか?)

よろしくお願いします。
0404NAME IS NULL2010/05/12(水) 00:23:38ID:???
>>403
今すぐ死ね
0405NAME IS NULL2010/05/12(水) 00:52:31ID:???
>>403
「insert 〜 select 〜」を調べてこい
0406NAME IS NULL2010/05/12(水) 00:56:14ID:???
新規で作るなら、
create table 〜 as select〜か....
0407NAME IS NULL2010/05/12(水) 03:22:51ID:???
態々政治ネタで例を作る奴は何なの?何の意図があるの?
04084032010/05/12(水) 06:44:23ID:???
>>404-407
相手をしていただいてありがとうございました。
こちらで自己解決しました。
insert/select/joinを使って実現できました。
特に、joinの存在に後から気づきました。
以上、ご報告でした。
0409NAME IS NULL2010/05/12(水) 07:44:31ID:???
>>408
死んじゃえよお前
0410NAME IS NULL2010/05/12(水) 09:31:07ID:???
政党と趣味嗜好と能力を同じ属性テーブルに入れるのには抵抗がある
0411NAME IS NULL2010/05/19(水) 17:20:08ID:???
sqlite3_finalize()を実行すべき条件がよくわからん
とくにエラー発生時にclose()したいときとか
0412NAME IS NULL2010/05/27(木) 23:31:37ID:???
ヘルプおながいします。
掲示板プログラムで、スレッド番号10に各IDが何個書き込みをしているかを調べるために、

$thread = 10;
$sth = $hDB->prepare("SELECT id,COUNT(*) FROM テーブル名 where thread = ? GROUP BY id");
$sth->execute($thread);
while( my($id,$cnt) = $sth->fetchrow_array ) {
print "$id $cnt\n";
}

とやったのですが、全く表示されません。
PupSQLite(v1.9.0.2) でSQLを実行する(where節の ? の部分は10を入れて実行)と意図通り
id cnt
-----
1 5
2 3
3 9
などと表示されます。
上の perl はどこが間違っているのでしょーか?SQLiteは3.6.22です。
0413NAME IS NULL2010/05/27(木) 23:42:08ID:???
↑すみません
もうちょっと自分で確認してから質問します...
0414教えてください2010/06/10(木) 23:01:20ID:???
すいません。教えてください。
xampp+sqlite3+PHPで施設の予約をするプログラムを作っています。

club       date      jikan

yakyu      2010-05-01    AM
handball     2010-05-01    PM
yakyu      2010-05-02    AM
rikujo      2010-05-02    PM
rikujo      2010-05-03    AM
handball     2010-05-04    PM

のようなテーブルがあります。

          01  02  03  04  05.....

yakyu       AM  AM
handball     PM   PM
rikujo      AM  AM

それを上記のようなカレンダーの形で出力したいのです。

select jikan as '01' from yotei where date='2010-05-01'
UNION
select jikan as '02' from yotei where date='2010-05-02'
......
group by club;

としてみたのですがうまくいきません。
MYSQLの本を見て
case..when..then..else とかを試してみたのですが、やはりうまくいきません。
こういう場合はどのように考えたら良いのでしょうか。
0415NAME IS NULL2010/06/11(金) 01:03:35ID:???
日付とAM/PM の表に使用者を入れるような DB にすればいいんじゃない?
って、別の提案したらだめか。
0416NAME IS NULL2010/06/11(金) 01:37:00ID:???
SELECT DISTINCT y1.club,
(SELECT jikan FROM yotei y2 WHERE date_ = '2010-05-01' AND y2.club = y1.club) AS "01",
(SELECT jikan FROM yotei y2 WHERE date_ = '2010-05-02' AND y2.club = y1.club) AS "02",
(SELECT jikan FROM yotei y2 WHERE date_ = '2010-05-03' AND y2.club = y1.club) AS "03",
(SELECT jikan FROM yotei y2 WHERE date_ = '2010-05-04' AND y2.club = y1.club) AS "04"
FROM yotei y1
0417NAME IS NULL2010/06/12(土) 21:37:33ID:???
>>414
PHP 側で整形したほうがいいよ。

そもそも、同じ人が同一日の AM/PM 両方に予約したらどう表示するんだ?
0418NAME IS NULL2010/06/12(土) 23:08:23ID:???
>>417
> そもそも、同じ人が同一日の AM/PM 両方に予約したらどう表示するんだ?

それ以前に、施設予約が目的なのに、同一日時予約に対する排他制御がなさそうな
テーブル構造がとっても気になった。

野球とハンドボールと陸上は仲良く共用できるのか?
0419NAME IS NULL2010/06/13(日) 08:41:01ID:???
合同練習だろ
0420NAME IS NULL2010/06/13(日) 10:22:02ID:???
>>418
排他をどこでやるか (そもそもやるべきか) は、別の問題だと思うが。

予約だけばんばんさせといて、抽選で使える奴を決めるとかのシステムかも
知れんし。
0421NAME IS NULL2010/06/23(水) 13:53:32ID:???
このSQLiteのver2.x系列のって、javaで使うことって出来ないんでしょうか?
0422NAME IS NULL2010/07/05(月) 10:38:56ID:JbkhIGME
手軽さに惹かれてSQLite使おうとしてるんですが、
数十ギガのデータベースファイルでも問題なく動作するでしょうか?
もっと大きくなる可能性もあって、スケールへの態勢を心配しています。
0423NAME IS NULL2010/07/05(月) 11:38:14ID:???
>>422
動作する。
大して遅くもない。
0424NAME IS NULL2010/07/05(月) 11:56:47ID:???
数10GiBのデータを扱うのに手軽さでSQLiteを選ぶとは・・・ただでかいだけのデータなの?
0425NAME IS NULL2010/07/05(月) 12:24:14ID:???
そういやそうだなw
0426NAME IS NULL2010/07/05(月) 15:10:15ID:pwlENpuN
>>423
ありがとうございます。大丈夫ですか。
とりあえず使ってみます。

>>424
サイズが大きくなっても大丈夫でパフォーマンスもでるなら手軽なのが一番ですよー
バックアップとかも楽でいいです。
0427NAME IS NULL2010/07/05(月) 17:08:18ID:???
単に他を知らなくて勉強する気も無いだけだろ
単一のファイルでその大きさだとかえってバックアップ面倒だし
0428NAME IS NULL2010/07/05(月) 17:48:30ID:???
10GiB超って何のデータなのかな?
イメージなんかだったら場所と名前をDBで管理した方がよさそうだし,
テキストデータだったらSQLiteじゃ荷が重そうだし.
0429NAME IS NULL2010/07/05(月) 20:16:06ID:???
SQLiteってデータがオンメモリにあることを前提でチューニングされていそうだけど、
数10GBでI/Oが出る状態でも大丈夫なんだろうか? 誰か試した人いる?
0430NAME IS NULL2010/07/05(月) 22:29:10ID:???
やっぱどんなにおっきくても100M単位ぐらいじゃyないのか?
0431NAME IS NULL2010/07/06(火) 02:24:00ID:???
数十GBは試したことないが10GBぐらいのメールサーバのログ集計になら使ったことある。
問題なく動いたよ。

ただ、INDEX作ってある状態でINSERTするとみるみる遅くなっていって使い物にならなかった。
INDEXない状態でINSERTし終わってからINDEX作成なら何とかなったんだけど、最後のCREATE INDEXに相当待った。
うろ覚えだけどINSERTに3時間、CREATE INDEXに12時間とかそういうオーダー。

ひとたびINDEXができてしまえばその後のSELECTは快適そのものだったな。
0432NAME IS NULL2010/07/06(火) 10:44:51ID:???
>>431と同じくログ集計で20GBくらいなら使ったことあるな…
手順は同じで INSERT 終ってから CREATE INDEX の順でやったけど
うちでは INSERT で14時間、CREATE INDEX で4時間とかだった。
まぁ使ってるマシンやテーブル構成が違うんだろうけど…
あとやっぱりSELECT自体は普通に使える速度だった。
0433NAME IS NULL2010/07/06(火) 11:59:31ID:???
数十ギガになった時はやっぱりMySQLやPostgreSQLの方が良いんですかね?
0434NAME IS NULL2010/07/06(火) 12:17:59ID:???
暗号化しようかなと思ってSQLCipherを使ってみたんだけど使った事ある人いる?
ReadMeにあるとおりPRAGMA key = 'passphrase';を入れてみてもLitaから丸見えなんだが。
0435NAME IS NULL2010/07/06(火) 12:22:17ID:???
連投すいません。
phpのSQlite3のコンストラクタにもオプションでencryption_keyってのがあるけどこれって意味無し?
これも同じように設定しても丸見えなんだが。
04364312010/07/06(火) 13:26:12ID:???
>>433
ケースバイケース。
一概には言えない。
ちなみに>>431と同じ処理を当時(4年くらい前)MySQLやPostgresでも試してみたけど、INSERTはSQLiteの方が断然速かった。
CREATE INDEXはSQLiteの方が断然遅かった。
いずれも詳しい数値は忘れたけど、時間を総合するとどれでも大差ない結果になった希ガス。
だから自分が慣れてる方法でやればいいと思う。
0437NAME IS NULL2010/07/06(火) 14:24:51ID:???
じゃあだいじょいぶかな。
100GB超える可能性もあるんだ。
0438NAME IS NULL2010/07/06(火) 18:11:43ID:???
みんな凄いね。そんなにでかくなるもんですか...
0439NAME IS NULL2010/07/07(水) 02:27:23ID:???
ファイルでもっときゃいいようなデータもすべて入れてくれという案件もある。
jpegのデータをBLOBでつっこむとか。
こりゃどういうことだとクライアントに問い合わせたけどとにかくそうしてくれの一点張り。
0440NAME IS NULL2010/07/07(水) 06:59:52ID:???
巨大なデータだと、たとえ性能は満足できたとしても、バックアップでハマらないか?
更新可能なままでバックアップはできないよね?
0441NAME IS NULL2010/07/07(水) 10:54:20ID:eywZHyww
Insertもインデックスはってからだと劇的に速くなる事あるよ。
ファイル一つしかないんだからバックアップは簡単でしょ。
0442NAME IS NULL2010/07/07(水) 12:46:15ID:???
>>440
以前絶賛INSERT中にDBファイルコバックアップしたら破損して開けないものが取れた。
いかにSQLiteといえど更新しながらは無理だね。
更新しながらバックアップ取るならファイルコピーではなくSQLでexportということになるが、
場合によってはロックかかって更新側がかなり待たされることになるかもな。
それでもなお完全性を重視するならBLOB使うのも仕方ないな。

>>441
並行して更新かけてるプロセスがなければ簡単だけど今しているのはそういう話じゃない。
インデックスない方が速いINSERTって例えば?
0443NAME IS NULL2010/07/07(水) 18:27:28ID:???
>>441
INSERTとUPDATE混同してるだろ
0444NAME IS NULL2010/07/07(水) 18:29:00ID:???
1ファイルに複数テーブル(10個とか20個程度)を作成すると、
パフォーマンス落ちたりしますか?
0445NAME IS NULL2010/07/08(木) 01:06:58ID:???
>>444
落ちます。上がることもあります。
0446NAME IS NULL2010/07/08(木) 12:36:25ID:???
>>443
あ、そうだww
0447NAME IS NULL2010/07/08(木) 15:14:25ID:???
でかいファイル一つだとFAT32のフラッシュメモリに入れようとしてはまるw
0448名無しさん@そうだ選挙に行こう2010/07/11(日) 22:34:33ID:???
>>447
そのDB、4GB以上もあるのか?w
0449NAME IS NULL2010/07/12(月) 08:39:27ID:???
数10GB超えの話してるんだろが
0450NAME IS NULL2010/07/12(月) 09:57:01ID:???
exFATってどうなんだろ
SQLiteと相性いいのかな
0451NAME IS NULL2010/07/18(日) 13:16:05ID:???
オライリーの新刊
Using Sqlite, Jay A. Kreibich (著)
http://www.amazon.co.jp/dp/0596521189
読んだ人はレビューおながいしますね

Mike OwensのSQLite本第2版は今年末発売予定
0452NAME IS NULL2010/07/24(土) 18:48:12ID:mVHGZySD
>>433
そういう事言ってる時点であんたには無理な希ガス
0453本田2010/07/27(火) 07:45:17ID:hj0bTvlh
SQLite Release 3.7.0 On 2010 July 22 (3.7.0)
Changes associated with this release include the following:
* Added support for write-ahead logging.
* Query planner enhancement - automatic transient indices are created when doing so reduces the estimated query time.
* Query planner enhancement - the ORDER BY becomes a no-op if the query also contains a GROUP BY clause that forces the correct output order.
* Add the SQLITE_DBSTATUS_CACHE_USED verb for sqlite3_db_status().
* The logical database size is now stored in the database header so that bytes can be appended to the end of the database file without corrupting it and so that SQLite will work correctly on systems that lack support for ftruncate().
0454NAME IS NULL2010/08/02(月) 01:20:22ID:???
WALどのくらい効果あるのかね。
0455NAME IS NULL2010/08/03(火) 03:51:09ID:???
SQLiteって特に何もしてないけど排他処理ってできてるんですかね?
0456NAME IS NULL2010/08/03(火) 09:55:28ID:???
>>455
出来てるよ。ちゃんとエラーになる。
0457NAME IS NULL2010/08/03(火) 19:20:26ID:???
phpMyAdmin みたいなブラウザ経由で .sqlite をいじくれるソフトってありますか?
0458NAME IS NULL2010/08/03(火) 22:06:47ID:???
>>457
Firefox限定だけど

SQLite Manager :: Add-ons for Firefox
ttps://addons.mozilla.org/ja/firefox/addon/5817/
0459NAME IS NULL2010/08/04(水) 11:44:49ID:KumWqsGz
インターネットVPNを使用してSQLiteへのアクセス速度を
改善させるなんか良い方法ないですかね?
0460NAME IS NULL2010/08/04(水) 12:26:48ID:???
今はどうなってんの?
VPNのせいで遅くなってるなら回線工夫したら?
0461sage2010/08/04(水) 13:30:14ID:KumWqsGz
現状は2拠点でのVPNです。
ローカルからのSQLiteへのアクセスは大丈夫ですが
VPN越しのアクセスが異常に遅くなってしまいます。

VPN越しでのエクスプローラでのファイル操作に関しては
速度的には問題ありません。

SELECT、UPDATE、INSERT全てがVPNを通すと遅くなってしまいます。
これは宿命なのでしょうか・・
0462NAME IS NULL2010/08/04(水) 14:20:14ID:???
下手するとまともに動かない可能性も。
ttp://www.sqlite.org/faq.html#q5
0463NAME IS NULL2010/08/04(水) 14:34:43ID:???
PING値とかどう?
遅いのレベルにもよるけど、名前解決は問題ない?
0464NAME IS NULL2010/08/04(水) 16:43:05ID:???
CIFSなら一回ローカルにコピーした方が良いんじゃないか?排他制御は他の方法で。
0465NAME IS NULL2010/08/04(水) 18:37:20ID:???
>>458
ありがとうございます
0466NAME IS NULL2010/08/06(金) 11:23:20ID:???
create table users (
id integer,
name text
);

create table books (
id integer,
user_id integer,
title text
);

上のような二つのテーブルがあります。
(booksテーブルがusersテーブルを参照しています)

今users.nameとbooks.titleが分かっていて、上2つのテーブルにデータを格納したいのですが、
スマートな方法が思いつきません。
思いつく限りでは以下のようなやり方になってしまうのですが、もっと良い方法は無いでしょうか。

insert into users (id, name) values (3, 'aka');
としてusersにデータ投入。
select id from users order by id desc limit 1;
として今入れたデータのidを取得。
insert into books (id, user_id, title) values (10, 3, 'sqliteの本');
としてbooksにデータ投入。

2番目のsqlが気持ち悪いです。。
0467NAME IS NULL2010/08/06(金) 12:01:08ID:???
>>466
2番目のSQL必要なの?ユーザIDは最初から(例の場合は3)分かっているみたいだけど。
04684662010/08/06(金) 12:09:20ID:???
>>467
ごめんなさい。間違ったsqlを書いてしまいました。
usersもbooksもidはautoincrement指定しているので、実際は以下のような流れになります。

insert into users(name) values ('aka');
select id from users order by id desc limit 1;
insert into books (user_id, title) values(3, 'sqliteの本');
0469NAME IS NULL2010/08/06(金) 12:26:18ID:???
>>466,468
多分これだろ。最後のautoincrementを取得。
select last_insert_rowid()
04704662010/08/06(金) 13:58:26ID:???
>>469
ありがとうございます!
目的がはっきりして分かり易いですね。
last_insert_rowid()を使うことにします。
0471NAME IS NULL2010/08/22(日) 15:43:03ID:mevauAk8
SQLiteのデータファイルについてプラットフォーム間での互換性は
あるのでしょうか?つまりあるシステムで使っていたSQLiteの
データファイルを別のプラットフォーム(CPUもOSも異なる)に
持って行って、そのまま使えるものなのでしょうか?
0472NAME IS NULL2010/08/22(日) 20:04:21ID:???
使えます。
それがSQLiteの特長の一つです。
0473NAME IS NULL2010/08/22(日) 20:44:33ID:iwDN+K5x
>>472 有り難うございました。また、確認もしました。
以前エンディアンの違いなどで悩まされたことがあったので
疑心暗鬼になっていました。
0474NAME IS NULL2010/08/31(火) 18:25:25ID:???
読み込み専用モードで複数のクライアントから同時アクセスなんてできないのですか?
0475NAME IS NULL2010/08/31(火) 19:26:57ID:???
>>474
SQLliteの排他制御がうんこだから。
マジに使いたいときは自前で排他してください。
0476NAME IS NULL2010/08/31(火) 21:36:05ID:???
>>474
そういうことをやりたい場合は素直にDBMS使うべき。
SQLiteはあくまでアプリケーションの組み込み用のファイル操作ライブラリ。
0477NAME IS NULL2010/08/31(火) 22:15:42ID:???
>>476
アプリが複数起動してるときの話だよ
0478NAME IS NULL2010/08/31(火) 22:25:17ID:???
>>476
だから、SQLiteは複数のプロセスがひとつのファイルを触ることをほとんど
想定していないってことだよ。単純にSQLiteライブラリがDBファイルに
アクセスする際は、他のプロセスが触れないようにロックかけるだけ。

何度も書くけど、まともに複数のプロセスからDBをいじりたいのなら、
きちんとしたDBMS使うべき。
0479NAME IS NULL2010/08/31(火) 22:44:12ID:???
横からだけど
SQLITEにもファイルロックと同程度の排他制御はあるでしょ?
0480NAME IS NULL2010/08/31(火) 22:48:06ID:???
>>479
排他制御は出来るけど、非ブロッキング以外はバグってるので
ブロックさせたかったら自力
0481NAME IS NULL2010/08/31(火) 22:50:43ID:???
>>479
だから、SQLiteはトランザクション開始するだけでDBファイル自体にロックがかかるんだよ。
なので同時に複数のプロセスから触ること自体が不可能。

横から入る云々はどうでもいいけど、ちったぁ考えてレス読めよ…
0482NAME IS NULL2010/08/31(火) 23:16:52ID:???
わからんけどありがとう
0483NAME IS NULL2010/09/01(水) 01:32:15ID:???
2プロセスで1つのDB共有してて、どう見ても同時にアクセスしてなくてトランザクションもかけてないのに
「ロックされててビジーだよ」ってエラーが発生してしまう症状に悩まされてる。
Windowsだからだろうか…。
0484NAME IS NULL2010/09/01(水) 10:51:44ID:???
>>481
ユーザとしては、ロック時にブロックしてくれれば
リトライだの考えなくてもそのまま使えるんだけどね
0485NAME IS NULL2010/09/01(水) 11:12:51ID:???
>>474
読み出しだけなら shared lock なので同時アクセスは問題ないね。
ttp://www.sqlite.org/faq.html#q5
0486NAME IS NULL2010/09/01(水) 12:24:57ID:???
http://d.hatena.ne.jp/charsbar/touch/20100828/1282937592
ここに書かれてるFTS3を使った日本語全文検索が気になる。
試してみようかな。
使ってる人いる?
0487NAME IS NULL2010/09/02(木) 14:22:06ID:???
SQLite.NETの話だけど、分離レベルがReadCommittedなら読み出し中に別スレッドから書き込みできた。
別プロセスからはどうか誰か知らない?

とりあえず、OSでファイルをコピーしてるときに書き込むことはできない。
小さいファイルなら分からないかもしれんが。LVMスナップショットとかボリュームシャドウコピーとか使ってる。
0488NAME IS NULL2010/09/07(火) 14:11:56ID:???
サーバーでphpでSQLite使ってるのですが
アクセスするたびに所有者がnobodyに変わって権限エラーがでてしまいます。
どうすればいいのでしょうか
0489NAME IS NULL2010/09/07(火) 15:28:00ID:???
すみません。サーバー管理者から凍結されてただけでした
0490NAME IS NULL2010/09/07(火) 15:28:51ID:???
つgoogle

「php sqlite 権限」
0491NAME IS NULL2010/09/07(火) 15:44:43ID:???
無料サーバーでアカ凍結でした。ごめんなさい
0492NAME IS NULL2010/09/08(水) 10:29:57ID:???
時間差から単に見てなかっただけだろう
0493NAME IS NULL2010/09/08(水) 12:09:43ID:???
?
0494NAME IS NULL2010/09/08(水) 19:49:45ID:???
Error: database is locked
0495NAME IS NULL2010/09/10(金) 16:43:37ID:H8Xl4MIZ
GROUP BY で文字列連結はできないでしょうか?
http://www.accessclub.jp/bbs6/0006/das1422.html
と全く同じ質問になります。よろしくお願いいたします。
0496NAME IS NULL2010/09/10(金) 17:43:15ID:???
>>495
SELECT A, group_concat(B, '')
FROM Test
GROUP BY A ;

group_concat() の第二引数は連結時のセパレータ文字列です
関数の一覧くらい調べられるようになるといいですね。
http://www.sqlite.org/lang_aggfunc.html
0497NAME IS NULL2010/09/10(金) 21:29:20ID:???
ありがとうございます。
新しい奴にのみ実装されているみたいですね。残念
no such function: group_concat
0498NAME IS NULL2010/09/23(木) 15:16:48ID:???
TkSQLite が使いづらいんですが他にGUIツールないですかね。
0499NAME IS NULL2010/09/23(木) 16:51:36ID:???
それが一番いいと思うけどなぁ。
0500NAME IS NULL2010/09/23(木) 18:18:11ID:???
>>499
そんなことは聞いてません
0501NAME IS NULL2010/09/23(木) 18:57:58ID:???
>>498
FirefoxからSQLite Manager使うのはどう?
0502NAME IS NULL2010/09/23(木) 18:58:05ID:???
SQLiteStudio は?
0503NAME IS NULL2010/09/23(木) 21:52:04ID:???
SQLiteCCは?
0504NAME IS NULL2010/09/23(木) 22:56:49ID:???
SQLite Managerってなんの為に存在してるの
なぜブラウザからSQLiteなんだ!?
0505NAME IS NULL2010/09/24(金) 22:35:32ID:???
>>498
何が気にくわないのか分からんから、以下のサイトから好きなの選べ

ttp://www.sqlite.org/cvstrac/wiki?p=ManagementTools
0506NAME IS NULL2010/09/25(土) 08:44:05ID:???
おれはSQLSpy使ってるよ。
ときどきRupSQLite使う。
0507NAME IS NULL2010/09/25(土) 11:46:01ID:???
>>505
いっぱいあるのね
0508NAME IS NULL2010/09/25(土) 12:42:16ID:???
>>505
SELECTかけて出てきたレコードを直接編集できるとうれしい
row_idを使えば可能なはず
0509NAME IS NULL2010/09/26(日) 11:36:46ID:???
PupSQLiteがなかなか
0510NAME IS NULL2010/09/29(水) 23:09:37ID:???
>>505
一番いいのを頼む
0511NAME IS NULL2010/09/29(水) 23:25:29ID:???
cmd.exeさいきょー
0512NAME IS NULL2010/09/30(木) 09:38:02ID:???
そういえばcommand.comってまだ存在するんだな
0513NAME IS NULL2010/09/30(木) 10:35:07ID:???
64bit環境だとない
0514NAME IS NULL2010/10/08(金) 23:04:28ID:???
PC-98で使えるの?
0515NAME IS NULL2010/10/09(土) 03:32:18ID:???
なぜ使えないと思うのか。
0516NAME IS NULL2010/10/09(土) 15:00:35ID:???
>>511
大丈夫だ、問題ない。
0517NAME IS NULL2010/10/14(木) 21:45:34ID:???
>>515
動かないから。
0518NAME IS NULL2010/10/17(日) 14:11:43ID:???
動くだろ
0519NAME IS NULL2010/10/17(日) 15:50:41ID:???
どっちやねん
0520NAME IS NULL2010/10/18(月) 14:48:43ID:???
create domain って無いんですか?
0521NAME IS NULL2010/10/18(月) 22:48:54ID:MRSTfJoF
>>520
http://www.sqlite.org/lang.html
ここに載ってなきゃ無い
0522NAME IS NULL2010/10/18(月) 22:53:30ID:MRSTfJoF
将来的にサポートされる(かもしれない)キーワード
http://www.sqlite.org/omitted.html

そして2006.09.15には要望が出されてるっぽい
http://www.sqlite.org/cvstrac/wiki?p=UnsupportedSql
0523NAME IS NULL2010/10/19(火) 10:04:37ID:???
>>520
これって何を作るの?ドメインとは?
0524NAME IS NULL2010/10/19(火) 19:09:46ID:???
c++のテンプレートをtypedefで別名をつくるみたいに
制約を付けた型のアライアスらしい>ドメイン
05255242010/10/19(火) 20:35:13ID:???
アライアスってなんだよ・・・一度間違って覚えると修正がきかないお
0526NAME IS NULL2010/10/19(火) 21:35:03ID:???
エイリアスのことをアライアスって呼ぶ人時々いるけどどこ発祥の文化なのかな
0527NAME IS NULL2010/10/19(火) 21:54:19ID:???
無限のアライアス
0528NAME IS NULL2010/10/19(火) 23:04:17ID:???
>>526
alias と allience を混同したんだろう
0529NAME IS NULL2010/10/20(水) 09:26:51ID:???
フランス語読みなら「ありゃ〜す」
0530NAME IS NULL2010/10/20(水) 19:54:16ID:???
絵入明日?
0531NAME IS NULL2010/10/22(金) 14:30:33ID:XUVI2xy3
phpのsqlite_openでdbが読み込まれない(生成されない)んですけど、ありがちな原因を教えていただけないでしょうか?
phpのverは
PHP Version 5.1.6です。sqliteも同梱されてたやつで動かしてます。

0532NAME IS NULL2010/10/22(金) 14:31:32ID:???
マルチポスト乙
0533NAME IS NULL2010/10/22(金) 16:51:05ID:???
バグ
0534NAME IS NULL2010/10/22(金) 17:04:30ID:XUVI2xy3
マルチ申し訳ない。それっぽい質問スレッドがなかったから書き込まさせていただきました。

0535NAME IS NULL2010/10/23(土) 00:27:41ID:???
アクセス権
ファイルパスのエンコーディング
0536NAME IS NULL2010/10/26(火) 14:30:43ID:???
>>531=534 みたいなやつって、マルチでもきらわれるにもかかわらず
>>535 みたいに親切なカキコがあったとしても
フィードバックなしで消えっぱなしだから
さらに性質が悪いよな
0537NAME IS NULL2010/11/08(月) 03:41:08ID:???
VS2010でマトモに動かんのはいつになったら直るんだ
0538NAME IS NULL2010/11/08(月) 11:38:29ID:???
君が直すまで
0539NAME IS NULL2010/11/09(火) 00:03:33ID:???
system.data.sqliteでマルチスレッドとかNG?
0540NAME IS NULL2010/11/09(火) 01:39:20ID:???
排他制御がかちあうのでマルチスレッドの意味は薄い
0541NAME IS NULL2010/11/09(火) 18:45:22ID:???
行ロックの効く組み込みDBってない?
sqlservercompact?
0542NAME IS NULL2010/11/09(火) 19:38:22ID:???
>>541
行ごとにテーブルをわけるという基地外システムなら作ったことがある。
いやほんと頭おかしいと思ったわ
0543NAME IS NULL2010/11/09(火) 19:41:16ID:???
後のNoSqlAndKvsであった
0544NAME IS NULL2010/11/09(火) 20:31:58ID:???
それってSQLすらいみなくない
0545NAME IS NULL2010/11/09(火) 23:37:00ID:???
テーブルとマスタでファイルを分けるとパフォーマンス上がるかね?
0546NAME IS NULL2010/11/10(水) 01:38:56ID:???
>>541
Firebird embeded
0547NAME IS NULL2010/11/12(金) 02:59:53ID:???
よく知らずに少人数DBとして利用してみたら、あまりにも使えないので
SQL Compactに乗り換えることにした

さよならお前ら
0548NAME IS NULL2010/11/12(金) 04:05:58ID:???
SQLiteはおひとり様DB
0549NAME IS NULL2010/11/12(金) 08:35:09ID:???
SQL Server Compactは複数同時使用可能なの?
0550NAME IS NULL2010/11/12(金) 09:42:07ID:???
>>548
いやん さびし〜
0551NAME IS NULL2010/11/12(金) 14:53:01ID:???
うちは会員数約3000人で1日の利用者が約300人の
会員制のサイトだけど、SQLiteで問題無く運用できてるよ。

"少人数"て、どれ位までが"少人数"なの?
0552NAME IS NULL2010/11/12(金) 15:48:33ID:???
DB/テーブル設計さえしっかりしてればsqliteで大規模サイトもOKよん
0553NAME IS NULL2010/11/12(金) 16:13:40ID:???
いちお〜VCでデータ変換アプリみたいの作って納品した実績は
あるんだけど、 今更 基本的な質問だけどw
結局あれってライブラリじゃん。 
そん中でロックかけてるの?
・・・
まぁそれしかないわな。(自問自答モード)
要求受付の複数のスレッドがリクエスト受けてもライブラリが
スレッドセーフなので、問題なくトランザクションは隔離されると。
複数の別個のアプリが同じDBを同時にオープン出来ないだろうし(未テスト)

結局 遅いだけなんでしょ。ちゃう?
0554NAME IS NULL2010/11/12(金) 17:04:18ID:???
公式サイトに全部書いてあるから読んでこい
0555NAME IS NULL2010/11/12(金) 18:25:12ID:???
未テストって SQLite 関係なくテストはしろよ
0556NAME IS NULL2010/11/12(金) 20:16:49ID:???
>>553
昔テストしたときは共有ロックは出来るが排他ロックが出来ない
というバグがあったので、しかたないから自分で排他制御した。
0557NAME IS NULL2010/11/14(日) 12:25:46ID:???
大量データを挿入するときにトランザクション使わないと
超絶遅くなるっていうバグ直った?
0558NAME IS NULL2010/11/14(日) 13:06:12ID:???
>>557 バグではなく仕様です
0559NAME IS NULL2010/11/14(日) 13:08:25ID:???
>>557
大量データを挿入するときにトランザクションを使うと
超絶速くなるのが仕様です(キリッ
0560NAME IS NULL2010/11/14(日) 19:07:55ID:???
あたま行かれてる? >>559
0561NAME IS NULL2010/11/14(日) 19:29:50ID:???
COMIITを最後にしなきゃだめよ
0562NAME IS NULL2010/11/14(日) 21:25:27ID:???
魔法少女☆こみっとchan
0563NAME IS NULL2010/11/14(日) 22:36:15ID:???
1. サーバにSQLiteファイルAをアップロード
2. ローカルでSQLiteファイルAを更新(INSERTでレコード追加)
この時、SQLiteファイルAはリジュームアップロード可能でしょうか?
それとも一からアップロードし直すことになるのでしょうか?
よろしくお願いします。
0564NAME IS NULL2010/11/14(日) 23:46:47ID:???
>>563
>この時、SQLiteファイルAはリジュームアップロード可能でしょうか?

�_
0565NAME IS NULL2010/11/15(月) 00:26:41ID:???
リジュムアプロドの意味がわからんなぁ。
0566NAME IS NULL2010/11/15(月) 01:07:45ID:???
>>564
無理ですか 残念です
SQLをサーバ側でも実行するしかないかなぁ

>>565
サーバにあるファイルを、「途中までアップロードしたファイル」と見なして、
残りの部分(追記部分)のみ送信する という意味です
0567NAME IS NULL2010/11/15(月) 01:12:09ID:???
まあ rsync なら近いことができるかもしれんが
0568NAME IS NULL2010/11/15(月) 01:15:56ID:???
rsyncは結局フルコピーでしょ。
バイナリ差分作って同期させるとか。
0569NAME IS NULL2010/11/16(火) 00:48:43ID:???
zenkai upload sita data ga local ni areba itiou kanou
.dump -> diff -> upload
upload -> .read

#nihongo utenai kankyou de suman m(__)m
0570NAME IS NULL2010/11/17(水) 08:43:47ID:???
>>563
自分で発行したSQL記録して後でまとめて投げて鯖側でも実行するとか
0571NAME IS NULL2010/11/17(水) 10:01:10ID:???
差分でやった方が確実かと
0572NAME IS NULL2010/11/21(日) 17:50:04ID:???
これってファイル共有だけなの?
サーバーコンポーネントみたいなのないの?
0573NAME IS NULL2010/11/21(日) 18:08:30ID:???
ありません
0574NAME IS NULL2010/11/21(日) 21:09:04ID:???
終了
0575NAME IS NULL2010/11/21(日) 22:57:25ID:???
ファイルいっこ〜
0576NAME IS NULL2010/11/22(月) 04:10:24ID:???
イーガーコーテー
0577NAME IS NULL2010/11/22(月) 21:54:07ID:???
>>572
サーバ側を作ればいいと思う
0578NAME IS NULL2010/11/23(火) 19:14:51ID:???
>>577
作って公開してください神様
0579NAME IS NULL2010/11/24(水) 01:23:57ID:???
鯖にしたいんならpgsqlかmysqlにしろ。
sqliteは個人用として使う で十分。
管理も楽。

でしょ
0580NAME IS NULL2010/11/24(水) 20:32:08ID:???
>>579
そんな当たり前のことを得意満面に書いてお茶を濁してないで、
早く作ってください神様
0581NAME IS NULL2010/11/25(木) 12:19:42ID:???
なんでサーバを作るねん
0582NAME IS NULL2010/11/25(木) 12:29:09ID:???
鯖にしたいんならしめ鯖にしろって
おととい、すし屋で言われた。

おいしかった。
0583NAME IS NULL2010/11/25(木) 12:30:21ID:???
それもこれもsqliteのトランザクション制御がうんこなのが悪い
0584NAME IS NULL2010/11/25(木) 13:19:23ID:???
かっぱ寿司では〆鯖が好きです
0585NAME IS NULL2010/11/25(木) 14:08:45ID:???
>>583
トランザクションはうんこではないでしょ。排他制御はうんこだけど、
そもそもがアプリ組み込み用ファイルアクセスライブラリなんだから、
べつにこれでもかまわないんだし。
0586NAME IS NULL2010/11/25(木) 15:21:26ID:???
複数スレッドからつつき回したらDBLocked出まくりワロタ
0587NAME IS NULL2010/11/25(木) 16:24:25ID:???
排他制御はPHPでやれば十分
0588NAME IS NULL2010/11/25(木) 18:43:45ID:???
>>585
ごめん、間違えてた。
トランザクション制御はうんこじゃないです。
排他制御がびっくりするほどうんこです。
0589NAME IS NULL2010/11/25(木) 19:35:46ID:???
>>586
そりゃアプリの設計が悪いでそ。複数のスレッドで同時にファイルを
触りに行くべきではない罠。
0590NAME IS NULL2010/11/25(木) 21:40:40ID:???
びっくりするほどユートピア
0591NAME IS NULL2010/11/26(金) 00:24:41ID:???
>>589
実際どうなるか試してみたかったの
0592NAME IS NULL2010/11/26(金) 00:31:14ID:???
>>591
それわいい事
0593NAME IS NULL2010/11/26(金) 00:32:29ID:???
複数コネクションでの排他制御をさばききるSQLiteインプロセスDBサーバーを>>577神様が開発中です

期待して待ちましょ−!
0594NAME IS NULL2010/11/26(金) 01:03:59ID:???
>>593
昔作ったわ。排他制御がウンコだったので
「接続するのひとりにすればよくね?」
と思ってMySQLコンパチ風味で作ってたけど
上からMySQL使っていい許可が降りたので
サーバ側は作成放棄して乗り換えた。
0595NAME IS NULL2010/11/27(土) 07:39:31ID:???
1プロセス内の複数スレッドからの呼び出しは上手いことシリアル化してほしいよなぁ
個々のスレッドからの処理呼び出しでDBLockするんじゃなくて。
0596NAME IS NULL2010/11/27(土) 08:06:50ID:???
>>595
とりあえず、ファイル操作専用のスレッドを作っておいて、
他のスレッドからはそれを呼び出すようにするのが基本かと。

それだとスケールしないやんという話もあるけど、スケーラビリティが
重要ならそれこそ本格的なDBMSの出番なわけだし。
0597NAME IS NULL2010/11/27(土) 09:17:16ID:???
ホイチョイのDBもどきなんだから
それなりの使いこなしが必要だよ。
0598NAME IS NULL2010/11/27(土) 13:44:15ID:???
ファイル一個なんだから複数アクセスにはセマフォとかクリティカルセクション
で整流するしかないだろね。
0599NAME IS NULL2010/11/27(土) 14:37:18ID:???
>>598
セマフォでいいのなら、単純にSQLite任せにしてもいいんじゃない?

セマフォであらかじめDBLockが出ないようにするのかと、SQLite任せにして
各スレッドでDBLock時の例外処理をするのかの違いしかないでそ。
0600NAME IS NULL2010/11/27(土) 17:18:53ID:???
>>599
よくわからんが兎に角
ライブラリがスレッドセーフになってないんでしょ。
あれ なってるっけ?忘れた。
0601NAME IS NULL2010/11/27(土) 17:25:53ID:???
>>600
つ ttp://www.sqlite.org/faq.html#q6
0602NAME IS NULL2010/11/27(土) 17:55:51ID:???
sqlite_openしてからforkすんなってことか
これはきっついな
0603NAME IS NULL2010/11/27(土) 19:33:38ID:???
>>602
それは3.3.1以前の話って書いてあるやん。
3.3.1以降ではFAQにも制限が緩くなったよんとある。

ってことで、上の層でセマフォを使う必要はない。けど、リクエストの
シリアライズなんかは当然やらないので、DB Lockが問題になるようなら
複数のスレッドが個々にSQL発行するような設計を改めないといけなくなる。
0604NAME IS NULL2010/11/27(土) 21:09:55ID:???
>>601
とん
Threads are evil. か。
了解しましたw
0605NAME IS NULL2010/11/29(月) 09:21:44ID:???
スレッド毎にopenした場合は大丈夫。スレッドでDBハンドルを共有したらアウト。だったような。
0606NAME IS NULL2010/12/01(水) 14:54:58ID:???
窓の杜 - 【REVIEW】“SQLite”のデータベースを管理できる「SQLite Database Browser」
http://www.forest.impress.co.jp/docs/review/20101201_410527.html
0607NAME IS NULL2010/12/01(水) 17:18:24ID:???
この手のツールはSQLiteSpyで間に合ってるな。
0608NAME IS NULL2010/12/01(水) 20:38:44ID:???
だな。
0609NAME IS NULL2010/12/01(水) 20:53:47ID:???
俺なんか tksqlite.exe で十分だぞ。


え?ちがう?
0610NAME IS NULL2010/12/07(火) 23:01:26ID:Ko0FUGgE
>>600
まつど
0611NAME IS NULL2010/12/09(木) 11:48:33ID:wwGdUmpr
きたせんじゅ
0612NAME IS NULL2010/12/10(金) 18:36:30ID:???
どんも はじめまして。

SQLiteはひとつのファイルにわんさかデータを放り込むと聞いたのですが、

windows7とかで動かした場合、ファイルシステムがNTFSだから
必然的にデータベースの最大サイズもNTFSのファイルサイズに準拠する形に
なるという認識でよいでしょうか?

たしか2TBがNTFSの最大値だからそんなに2TBをオーバーすることは無いとは思いますが、
しっかり認識しておかないとまずいですよね・・・・。

0613NAME IS NULL2010/12/10(金) 18:40:27ID:???
よい
06146122010/12/11(土) 17:34:10ID:???
>>613
あざーす!

今度AIRアプリの中で使おうと思ってたので
参考にさせていただきます!
0615NAME IS NULL2010/12/11(土) 19:39:51ID:???
単なるファイルとライブラリだけですからね。
まぁよく出来たライブラリという事で。
0616本田2010/12/13(月) 00:20:36ID:nXBl2G9X
About SQLite
http://www.sqlite.org/about.html
SQLite is a in-process library that implements a self-contained, serverless, zero-configuration, transactional SQL database engine.
The code for SQLite is in the public domain and is thus free for use for any purpose, commercial or private.
SQLite is currently found in more applications than we can count,
including several high-profile projects.
0617本田2010/12/13(月) 00:22:16ID:nXBl2G9X
SQLite Release 3.7.4 On 2010 December 08 (3.7.4)

Changes associated with this release include the following:

* Added the sqlite3_blob_reopen() interface to allow an existing sqlite3_blob object to be rebound to a new row.
* Use the new sqlite3_blob_reopen() interface to improve the performance of FTS.
* VFSes that do not support shared memory are allowed to access WAL databases if PRAGMA locking_mode is set to EXCLUSIVE.
* Enhancements to EXPLAIN QUERY PLAN.
* Added the sqlite3_stmt_readonly() interface.
* Added PRAGMA checkpoint_fullfsync.
* Added the SQLITE_FCNTL_FILE_POINTER option to sqlite3_file_control().
* Added support for FTS4 and enhancements to the FTS matchinfo() function.
* Added the test_superlock.c module which provides example code for obtaining an exclusive lock to a rollback or WAL database.
* Added the test_multiplex.c module which provides an example VFS that provides multiplexing (sharding) of a DB, splitting it over multiple files of fixed size.
* A very obscure bug associated with the or optimization was fixed.
0618NAME IS NULL2010/12/13(月) 01:19:19ID:???
重くなるなよ。遅くなるなよ。

Pls keep it light and fast.
0619NAME IS NULL2010/12/13(月) 05:34:21ID:???
>>612
>2TBがNTFSの最大値
違う
0620NAME IS NULL2010/12/13(月) 09:17:39ID:???
>>619
マジでっ!?
06216122010/12/13(月) 11:45:38ID:???
>>619

すみません。NTFSのは最大ファイルサイズは
2TBではないようでした。

ウィキペディアを見たら16 TiBと記載されてました。

実際にシステムで動作するときは
他の要因によって最大サイズが変化するようですね。

お騒がせいたしました。
0622NAME IS NULL2010/12/27(月) 02:00:24ID:???
えすきゅーえるらいと
0623NAME IS NULL2010/12/27(月) 20:22:21ID:???
えすきゅーえるいて
0624NAME IS NULL2010/12/27(月) 21:19:58ID:???
エスキュリテ
0625NAME IS NULL2010/12/28(火) 10:16:52ID:s2YjBZl6
スクライトって発音してるひとがおりました
0626NAME IS NULL2010/12/28(火) 10:19:21ID:???
しーくらいと
0627NAME IS NULL2010/12/28(火) 21:11:12ID:???
>>625
その弱い考え方に反逆する
0628NAME IS NULL2010/12/28(火) 21:49:11ID:???
スクライ〜ト〜♪
そんな飲み物もありました
0629NAME IS NULL2010/12/28(火) 22:08:04ID:???
>>625
俺じゃねーか。

ばらすなww
0630NAME IS NULL2010/12/28(火) 22:45:39ID:???
エスキューライト
0631NAME IS NULL2010/12/31(金) 01:13:04ID:???
801 名前:NAME IS NULL[sage] 投稿日:2006/06/18(日) 08:53:32 ID:???
SQLite = スキュライト

805 名前:NAME IS NULL[sage] 投稿日:2006/06/18(日) 13:23:15 ID:???
>>801
それが正しいと思うよ。
内部解析アルゴリズムがLemonになってたからスプライトレモンにかけてるんでしょ。

俺はずっとそう言ってる。
0632NAME IS NULL2010/12/31(金) 04:30:11ID:???
スキュライ〜ト〜♪
0633NAME IS NULL2011/01/03(月) 14:34:00ID:???
ttp://www.youtube.com/watch?v=f428dSRkTs4
0634NAME IS NULL2011/01/04(火) 00:32:02ID:???
>>633
日本語のないの?
0635NAME IS NULL2011/01/04(火) 18:01:18ID:???
>>634
よろしくいいだしっぺ
0636NAME IS NULL2011/01/04(火) 21:01:01ID:???
リスクやマイナスが起爆剤になるデータベース
0637NAME IS NULL2011/01/04(火) 22:16:10ID:???
>>635
英語わからないある
>>636
I don't understand its mean well..
0638NAME IS NULL2011/01/05(水) 00:55:24ID:???
>>637
嘘も矛盾も飲み干す強さです
0639NAME IS NULL2011/01/05(水) 03:16:23ID:nUqOcAEq
I cannot speak English.
0640NAME IS NULL2011/01/05(水) 22:01:35ID:???
遅い、遅すぎます。
0641NAME IS NULL2011/01/05(水) 23:31:01ID:???
シングルスレッドなら当然最速
0642NAME IS NULL2011/01/06(木) 12:53:42ID:???
dbファイルってsqlite3 と2で共通なのでしょうか?
0643NAME IS NULL2011/01/06(木) 13:57:53ID:???
ホーマットが違うのでわ?
0644NAME IS NULL2011/01/07(金) 02:48:01ID:???
>>640
どうせドキュメントも読まずにろくでもないインデックスを張ってるか、
ろくでもないクエリーを書いてるんだろ
0645NAME IS NULL2011/01/07(金) 07:55:45ID:???
フィアーバード最高!
0646NAME IS NULL2011/01/07(金) 10:50:27ID:???
>>644
教えてあげません
0647NAME IS NULL2011/01/15(土) 04:26:32ID:???
カラムの削除できなかったの直った?
0648NAME IS NULL2011/01/15(土) 18:27:22ID:???
こんな本出てたんだな。おまいらちゃんと教えといてくれよ。
あと、レビューよろしく。

Amazon.co.jp: SQLite ポケットリファレンス: 五十嵐 貴之: 本
ttp://www.amazon.co.jp/dp/4774143944
0649NAME IS NULL2011/01/15(土) 18:43:44ID:???
こんな本いらないだろ
0650NAME IS NULL2011/01/15(土) 19:27:56ID:???
もう狩ちゃったよ。中身見てないけど。
0651NAME IS NULL2011/01/15(土) 20:08:44ID:???
感想よろね。
いちおショッピンカートには入れてる。
0652NAME IS NULL2011/01/15(土) 20:55:57ID:???
>>651
ごめん、パラパラ見たけどSQLite自体詳しくないから細かいところ突っ込めない。
普段awkで面倒なのをSQLiteにimportして使っている程度なので。

逆引きっぽく、あーこんな事もできるんだ程度には確認はできた。
他のSQLite本より余計な部分をそぎ落とした上で細かい部分を詰め込んでる感じか。
0653NAME IS NULL2011/01/15(土) 23:02:17ID:???
そういやこれも概出じゃなかったのかな。これも持ってる香具師よろしく。

Amazon.co.jp: 新標準SQLite (オープンソースRDBMSシリーズ): 田中 ナルミ, 阿部 忠光: 本
ttp://www.amazon.co.jp/dp/4797354739
0654NAME IS NULL2011/01/15(土) 23:03:23ID:???
たびたびすまん。これも。

Amazon.co.jp: Using SQLite: Jay A. Kreibich: 洋書
ttp://www.amazon.co.jp/dp/0596521189
0655NAME IS NULL2011/01/15(土) 23:06:00ID:???
すまん、 >>654 は >>451 で概出だった。
0656NAME IS NULL2011/01/15(土) 23:16:33ID:???
>>653
カスタマレビューじゃだめなのかい?
0657NAME IS NULL2011/01/16(日) 00:45:05ID:???
SQLiteって公式サイトに全部情報あるじゃない
書籍なんていらないでしょう?
0658NAME IS NULL2011/01/16(日) 01:05:57ID:???
>>653
それも持ってるけど、結局SQLite自体詳しk(ry

SQL自体の初心者向け。
あと、他言語からの使い方や簡単なWebアプリ制作が記載されてる。
たぶん、ある程度わかっている人間には無用。
0659NAME IS NULL2011/01/16(日) 02:58:11ID:???
俺はCサンプルがあればそれでいいや。
C+sqliteは速いど〜。
ほんと可愛いライブラリだよね。
0660NAME IS NULL2011/01/16(日) 03:45:15ID:???
てか、おまえらどうせ
INSERT,SELECT,UPDATE,DELETE
しかつかわないでしょ?
0661NAME IS NULL2011/01/16(日) 04:34:29ID:???
それ以外になんかあるのか
0662NAME IS NULL2011/01/16(日) 08:52:10ID:???
PRAGMA
0663NAME IS NULL2011/01/16(日) 09:04:26ID:???
CREATE?
0664NAME IS NULL2011/01/16(日) 12:06:02ID:???
CRUDができればそれでいいよ
0665NAME IS NULL2011/01/16(日) 13:23:35ID:???
そんなもの役に立たない
0666NAME IS NULL2011/01/16(日) 16:17:39ID:???
他のRDBを使っていちおう仕事してるやつ用のSQLite本ってないのかな?
できれば、ちょっと本体改造みたいな話が載っているとうれしい。
0667NAME IS NULL2011/01/16(日) 17:00:29ID:???
ソース嫁
Cが分かるなら全然難しくない
0668NAME IS NULL2011/01/16(日) 20:47:13ID:???
Cのファイル一個だけなのよね。
大したもんです。
0669NAME IS NULL2011/01/16(日) 21:06:59ID:???
コンパイラの最適化はファイルが分散したら効率わるくねぇ?だったら一つにまとめちまおうぜ!
という素敵な経緯がある
0670NAME IS NULL2011/01/16(日) 22:30:34ID:???
ファイルサイズ4MBオーバーとか見たくねーよ
0671NAME IS NULL2011/01/16(日) 22:56:00ID:???
>>669
あ そすか。
俺も分割コンパイルよりも出来るだけまとめた方が楽だな。
gccだとコンパイルなんて1秒で終わるもんね。
g++だとちょとかかるか。
>>670
全部 一個の関数じゃないよ。
search使えばサクサクよ。
4Mなんて今時大した事ない。
0672NAME IS NULL2011/01/17(月) 00:38:06ID:???
>4Mなんて今時大した事ない。
え?
0673NAME IS NULL2011/01/17(月) 01:36:17ID:???
仕事で使ってる奴が今時ソースなんか読みふけってたら
給料泥棒扱いされるだろうな
最近じゃ案件なくて会社待機している人が多いみたいだが…
0674NAME IS NULL2011/01/17(月) 22:57:31ID:???
会社待機羨ましいです
0675NAME IS NULL2011/01/18(火) 03:12:35ID:???
社内失業させてまで人材確保しておかず、本当に失業させる流れに
なっているからなぁ。会社に拘束されないぶんマシとも言えるけど、
このご時世では35歳以上の正社員への就職は極めて困難なのが痛いところ。
0676NAME IS NULL2011/01/18(火) 10:22:43ID:???
それで飛び込み自殺したりして迷惑かけるんだから、国は死ぬ権利を法制化して
安楽死設備を作るべきだよね。
死ぬ方からしても他に迷惑掛けずに死ねるし、その他大勢も巻き込まれ被害を被ら
ずに済む。まさにWin-Winじゃないか。
0677NAME IS NULL2011/01/18(火) 12:53:31ID:???
※ここはSQLiteスレ
0678NAME IS NULL2011/01/19(水) 17:56:17ID:???
バグ探ししてもわからず、設定なのかなぁ〜と…
すみません。。ちょっと弱音を吐きたかったんです。
0679NAME IS NULL2011/01/19(水) 18:30:05ID:???
?
0680NAME IS NULL2011/01/19(水) 20:27:48ID:???
結構昔に頂いたphp勉強のプリントを復習しながら、メニューから選んで検索するというものをSQLiteで作っているのですが
select文 where句でつまずいています。
別の作ったページでorder by 句でデータベースからの読み出して掲示板のように表示するのは出来るのですが、わからないです。
apacheでバグの表示はないのと、いくらバグ探ししてもわからず、これはphpの設定なのかなと考えていて
今はPHP 5.2.5 sqlite2なのでバージョンアップさせるためにインストールし直そうかなと考えたりしています。
解りにくいと思いますが、私には基礎が抜けていてすみません。
0681NAME IS NULL2011/01/19(水) 20:55:37ID:???
> できるのですが、わからないです。

何がわからないのか判らんw
0682NAME IS NULL2011/01/19(水) 21:08:35ID:???
日本人じゃないのか?
0683NAME IS NULL2011/01/19(水) 21:41:14ID:???
出来るところと出来なくなった所を切り分ける事
0684NAME IS NULL2011/01/20(木) 00:38:42ID:???
>>680
「勉強のプリント」に何とも言えない懐かしさを覚えた。
頑張れ
0685NAME IS NULL2011/01/20(木) 06:31:53ID:???
最近は小学校でPHPの勉強のプリントが配布されるのか
0686NAME IS NULL2011/01/20(木) 08:20:49ID:???
ガリ版っぽい
0687NAME IS NULL2011/01/22(土) 14:10:50ID:???
>>680
本人は質問してるつもりで書いたのかもしれないが、ただの日記になってるよ…
0688NAME IS NULL2011/01/22(土) 14:35:22ID:???
>>680のカキコ内で質問として意味のあるのは「select文 where句でつまずいています」という箇所だけだねw
これじゃ日記と言われてもしかたがない。多分、実生活でも苦労が絶えないお人なんだと思う。

その「つまずき」の内容を具体的に説明できれば、期待しているレスがもらえると思うんだけどなあ....
2chにはお人好しな「教えたがり屋さん」は一杯いるんだから
0689NAME IS NULL2011/01/23(日) 02:57:34ID:???
確かに、すみません。データベースから条件を満たすレコードを読み出して表示する。
というものをプリントに合わせて作っているのですが、
条件を満たすレコードが導き出せない状態なのです。

<?PHP
略〜

function display_search_works($works_name){
$works_select=array("","","","","","");
$dbh=@sqlite_open('d_message.sqlite');
if($dbh !=FALSE){

$sqlstr="select*from d_message where works1 ='".$works_name."'or";
$sqlstr=$sqlstr."works2='".$works_name."'or";
$sqlstr=$sqlstr."works3='".$works_name."'or";
$sqlstr=$sqlstr."works4='".$works_name."'or";
$sqlstr=$sqlstr."works5='".$works_name."'or";
$sqlstr=$sqlstr."works6='".$works_name."'limit 20";

//printf($sqlstr);
$result=@sqlite_query($dbh,$sqlstr);
if($result!=FALSE){
$record_n=0;
while($rec=sqlite_fetch_array($result,SQLITE_ASSOC)){
$record_n++;

〜略
display_search_works($works_list[$i]);
}
?>

//printf($sqlstr);の//を外して結果を確認したところフォームから条件は送信できています。
データベースには接続できているのですが実際の表示ではエラーの表示もなく真っ白な状態で帰って来ます。
$record_n=0;の変数が実効できていないのかなとそれぞれの言語の意味を調べながら、
やはり私のタイプミスがどこかに隠れているのかなと頑張って探してみます!
0690NAME IS NULL2011/01/23(日) 03:20:14ID:???
while の中身の2行目以降が省略されているのでわからんわ。
とりあえず $record_n++ の次の行あたりで適当な文字列 print してみてちゃんと while の中身が実行されてるかどうか確認してみれば?
あと $dbh や $result が FALSE だった場合の処理はちゃんと書いてあるんだろうね。
0691NAME IS NULL2011/01/23(日) 03:23:37ID:???
あと>>689のコードSQLインジェクションあるからプレースホルダ使った方がいいだろうな。
まあ今うまく動いてない原因とは関係ないけど。
0692NAME IS NULL2011/01/23(日) 03:28:35ID:???
>>689
>//printf($sqlstr);
これ有効にしてSQLだけで実行して結果が返ってればPHP側でここじゃない、SQL実行でエラーならSQL
ってか select*from d_message これって通る?俺はスペース入れてしか書かないからわからんけど
0693NAME IS NULL2011/01/23(日) 07:03:07ID:wVlnlX26
select*from
select * from

こりゃあかん
0694NAME IS NULL2011/01/23(日) 14:47:26ID:???
さらにその直後もあやしいね

$sqlstr= (中略) "'or";
$sqlstr= (中略) "' or ";

$sqlstr=$sqlstr."works2='".$works_name."'or";
$sqlstr=$sqlstr." works2='".$works_name."' or ";
0695NAME IS NULL2011/01/23(日) 15:27:45ID:???
printf($sqlstr) で出力される内容をそのまま TkSQLite とかで実行してみるんだな。
それが通らない限り PHP でもまともに動くわけがない。
0696NAME IS NULL2011/01/23(日) 19:06:11ID:???
目頭に熱いものが込み上げて来ました。嬉しいです、皆様ありがとうございます。

>>694
私のタイプミスでした。空白スペースを加えたところ動きました。
これは僕一人では見つけられなかったです。
     -ーー ,,_
   r'"      `ヽ,__
   \       ∩/ ̄ ̄ ヽつ
  ノ ̄\ /"ヽ/ "   ノ   ヽi
 |  \_)\ .\    >  < |\
 \ ~ )     \ .\_  ( _●_)\_つ   ありがとう。
    ̄       \_つ
>>693
ドリームウェーバーを使ってですとselect*fromでも通りましたが
教えて頂いたTkSQLiteでも試したところselect * fromで通りましたので
ほかのソフト使う時は空白を注意して入れてみます。ありがとうです!
0697NAME IS NULL2011/01/23(日) 19:19:55ID:???
>>696
>ドリームウェーバーを使ってですとselect*fromでも通りましたが

意味わからん。DreamWeaver にはいつから SQLite 処理機能が搭載されたんだ?
何がどう通ったんだろうな。
どうでもいいけど Weaver はウェーバーじゃなくてウィーバーと発音する

>ほかのソフト使う時は空白を注意して入れてみます。ありがとうです!

ほかのソフトっていうか SQL の基礎を学ぶべき。SQLite 云々関係ない。
SQL質疑応答スレ 10問目
http://hibari.2ch.net/test/read.cgi/db/1274791771/

あと PHP もだな。
【PHP】下らねぇ質問はID出して書き込みやがれ 102
http://hibari.2ch.net/test/read.cgi/php/1292670453/
0698NAME IS NULL2011/01/24(月) 00:20:12ID:oiHYSamW
言うなればシガニーといったところか
0699NAME IS NULL2011/01/24(月) 00:54:52ID:???
>>698
1月の2chのレスで一番役に立つ情報だ
0700NAME IS NULL2011/01/24(月) 02:15:48ID:???
>>695
素敵なデバッグ法よね。
0701NAME IS NULL2011/01/27(木) 01:36:41ID:INcQ21g4
今時、DB丸ごとロックとか、酷い代物だな…。
0702NAME IS NULL2011/01/27(木) 02:20:31ID:???
テーブルごとにDB作ればいいだろ
0703NAME IS NULL2011/01/27(木) 02:28:39ID:???
スタンドアロンDBですから、それなりに楽しく使えばいいかと。
でもスレッドセーフだし、十分速いよ。
0704NAME IS NULL2011/01/27(木) 08:53:28ID:???
いやなら自分で作ればいいのに・・・そんな力量は無いよねw
0705NAME IS NULL2011/01/27(木) 09:34:10ID:???
>>703
>スレッドセーフだし
チョーウケル
0706NAME IS NULL2011/01/27(木) 15:48:26ID:???
>>705
頭悪そう
0707NAME IS NULL2011/01/29(土) 14:48:01ID:???
悪そうではなく悪い
0708NAME IS NULL2011/01/30(日) 01:21:30ID:???
まじめな話で、>>702 の言うとおり、
ロックしたい範囲ごとにDB分ける、で本格的な設計思想が
成立するんじゃないかって気がしている。

これからマルチコアCPU当たり前だろ。
そのCPUをクルクル回すには、1マシン内でも分散DBシステムみたいな
知恵を(プログラマが)使って、
テーブル群ごと、あるいはレコード群ごとに別のプロセスが神(1次情報)、
みたいな思想でDB分割しないと速く動かなくなるんじゃないかと。

テーブルごとやレコードごとにロックできるDBMS使ってたって
別にそいつが偉いわけじゃないよね。作ってるなら偉いけど
0709NAME IS NULL2011/01/30(日) 08:25:20ID:???
SQLite を使わざる得ない案件でロック回避のために「テーブルごとにDB」と言うなら
まだしも、「本格的な設計思想」で「ロックしたい範囲ごとにDB」って馬鹿だろ。
0710NAME IS NULL2011/01/30(日) 08:34:15ID:Pg2IwDBC
別プロセスにすればリスクは減るんじゃないか?
ただ管理にも数が増え多分負担もある。
理想は一つで全て出来れば一番良いが。
0711NAME IS NULL2011/01/30(日) 08:39:29ID:???
適材適所
0712NAME IS NULL2011/01/30(日) 08:42:40ID:???
いやぶっちゃけ当たり前のようにやってるから。
一つのマシンだと問題になるのはcpuではなくストレージ。
つーか、あんたら世の中のことに何にも関心がないんだな。
0713NAME IS NULL2011/01/30(日) 08:47:34ID:???
も一個言っとくと、これからSQLiteは流行ると思うよ。
Androidの標準DBに抜擢されたから。
でもあんたらはそれも置いてきぼりだな。
0714NAME IS NULL2011/01/30(日) 10:42:22ID:???
変な日本語だな
0715NAME IS NULL2011/01/30(日) 12:00:01ID:???
一体何と戦ってるのか話が見えない
0716NAME IS NULL2011/01/30(日) 12:33:29ID:???
ほっときゃいいんじゃね。

まともな DBMS ならひとつのデータベースに複数のストレージを割り当てるなんて
普通にできるなんてことも知らなさそうだし。
0717NAME IS NULL2011/01/30(日) 12:55:44ID:???
>>716
こういうSQLはおろか、OSの初歩的な挙動も知らないゴミクズがのさばっているのがこのスレだ。
まあ、ゴミクズ同士なかよくやってくれ。
0718NAME IS NULL2011/01/30(日) 13:01:34ID:???
と、ゴミクズが申しております。
0719NAME IS NULL2011/01/30(日) 15:32:54ID:???
そんな口だけのゴミ開発者ばかりの中、スーパー開発者>>577神様が
そろそろSQLiteのインプロセスサーバーを発表してくれるはずです
0720NAME IS NULL2011/01/30(日) 21:41:46ID:???
>>713
FirefoxやChromeで使われてるから既にインストール数ベースでは
大流行りだよ。
0721NAME IS NULL2011/01/30(日) 21:47:13ID:???
多分今どき SQLite の入ってないマシンを探す方が難しい。
0722NAME IS NULL2011/01/31(月) 00:13:08ID:???
iPhoneもiTunesもSQLite使われてるしな…
0723NAME IS NULL2011/01/31(月) 03:41:47ID:???
使える人が使う。
使えない人は使わない。

俺psqlもsqliteも好き。
0724NAME IS NULL2011/01/31(月) 09:29:42ID:???
単に資格の勉強のために動かすだけだが、pythonから使ってる
0725NAME IS NULL2011/01/31(月) 16:56:03ID:???
>>712
そりゃそうだがそれをよりにもよってSQLiteでやるこたねーだろ
というのがみんなの意見
0726NAME IS NULL2011/01/31(月) 18:38:45ID:???
もうほっとけ
0727NAME IS NULL2011/01/31(月) 21:30:48ID:???
楽しく便利に使いましょう。
ダメだという人はoracle,posgresql,mysql,sqlserver とか
いっぱいあるのでそっちにしましょう。
0728NAME IS NULL2011/01/31(月) 22:40:29ID:???
cygwinから使うのなんとなくいいね
0729NAME IS NULL2011/02/01(火) 12:28:01ID:???
java(正確にはjsp)からsqlite使う方法がいくつかあるけど
どれがお勧め?
strutsのカスタムタグでsqliteにアクセスする方法ってお勧めではないの?
0730本田2011/02/02(水) 20:17:43ID:hqYxeP8x
SQLite Release 3.7.5 On 2011 February 01 (3.7.5)
Changes associated with this release include the following:
* Added the sqlite3_vsnprintf() interface.
* Added the SQLITE_DBSTATUS_LOOKASIDE_HIT, SQLITE_DBSTATUS_LOOKASIDE_MISS_SIZE,
and SQLITE_DBSTATUS_LOOKASIDE_MISS_FULL options for the sqlite3_db_status() interface.
* Added the SQLITE_OMIT_AUTORESET compile-time option.
* Added the SQLITE_DEFAULT_FOREIGN_KEYS compile-time option.
* Updates to sqlite3_stmt_readonly() so that its result is well-defined for all prepared statements
and so that it works with VACUUM.
* Added the "-heap" option to the command-line shell
* Fix a bug involving frequent changes in and out of WAL mode
and VACUUM that could (in theory) cause database corruption.
* Enhance the sqlite3_trace() mechanism so that nested SQL statements
such as might be generated by virtual tables are shown but are shown in comments
and without parameter expansion. This greatly improves tracing output
when using the FTS3/4 and/or RTREE virtual tables.
* Change the xFileControl() methods on all built-in VFSes to return SQLITE_NOTFOUND
instead of SQLITE_ERROR for an unrecognized operation code.
* The SQLite core invokes the SQLITE_FCNTL_SYNC_OMITTED file control
to the VFS in place of a call to xSync if the database has PRAGMA synchronous set to OFF.
0731NAME IS NULL2011/02/02(水) 21:12:43ID:???
ポコポコとコマンドを加えられても手元においてる本に載ってなきゃ使えねえんだよ
0732NAME IS NULL2011/02/02(水) 22:28:29ID:???
英語わかりません と正直に言いましょう。
0733NAME IS NULL2011/02/02(水) 22:34:38ID:???
バーロー。俺はなかなか翻訳されないpythonのAPIの英語ドキュメントを時々読むレベルの人間だぞ
0734NAME IS NULL2011/02/03(木) 13:06:58ID:???
本に追加されたコマンドを書いた切れ端でも挟んどけば?
0735NAME IS NULL2011/02/03(木) 14:13:08ID:???
>>730
かいつまんで書けよ。
日本語だろうと英語だろうとコピペしか脳の無い奴は死ねよ。
0736NAME IS NULL2011/02/03(木) 15:00:50ID:???
素直に英語が読めないといえよw
0737NAME IS NULL2011/02/03(木) 16:16:33ID:???
つーか、コピペするだけなら、 URL を貼ってくれた方がマシ。
0738NAME IS NULL2011/02/03(木) 16:56:16ID:???
せーかい

てか今のままでも使うには十分かと。
小さく速くバグがない が好き。
0739NAME IS NULL2011/02/03(木) 18:35:22ID:???
alter table test add column abc integer;


↑これだと一つしかカラムを追加できません。
複数のカラムを一気に追加するにはどうすればいいのでしょうか?
0740NAME IS NULL2011/02/03(木) 19:35:18ID:???
http://www.dusystems.com/sqlite3tags.html

これって使ってる人います?
updateの例しかないけどselectは使えるの?
0741NAME IS NULL2011/02/03(木) 19:44:27ID:???
>>736
読めないのはお前だろ。みんながお前と同じだと思うな。黙ってろ
0742NAME IS NULL2011/02/03(木) 19:56:01ID:???
素直に空気が読めないって言えよ

うんざりだよ。
0743NAME IS NULL2011/02/04(金) 00:12:52ID:???
複数あddは無理っぽいね
0744NAME IS NULL2011/02/09(水) 13:12:58ID:???
perlの掲示板とかでデータをテキストで書きだす方法あるけど
ファイルロックの問題が完全には解決できないんだよね?
テキストファイルをsqliteに置きかえれば少しはましになるの?
掲示板に誰か書き込み中にcronが変なことしてデータファイル破壊なんてことはない?
0745NAME IS NULL2011/02/09(水) 16:30:49ID:???
何言ってんだおまえ
0746NAME IS NULL2011/02/09(水) 17:08:02ID:???
意味不明すぎる
0747NAME IS NULL2011/02/09(水) 21:39:35ID:???
>>744
perlでファイルロックは完璧に出来る。
むしろ、sqliteの方がロックの信頼性は低い。
したがって、現状テキストで出来ているものなら
ロック周りを徹底的に見直ししろ。
0748NAME IS NULL2011/02/09(水) 21:45:09ID:???
>むしろ、sqliteの方がロックの信頼性は低い。
何言ってんだおまえ
0749NAME IS NULL2011/02/09(水) 22:32:32ID:???
えっ
0750NAME IS NULL2011/02/09(水) 22:55:16ID:???
>>747
迷惑だからお前はレスすんな
0751NAME IS NULL2011/02/10(木) 00:39:57ID:???
>>747
迷惑を振りまくタイプの馬鹿って自覚が無いから困るよね
0752NAME IS NULL2011/02/10(木) 01:36:55ID:???
セマホかクリチカルセクソンを使へと何度行ったら。
0753NAME IS NULL2011/02/10(木) 06:01:54ID:???
SQLiteを使ってSQLの勉強をしております。

insertを行なった際にAUTOINCREMENTなフィールドにセットされた値を取得したいのですが、
どのように取得すればいいでしょうか?
そのレコードには他に一意な情報がなくwhere句で再度調べることもできません。
0754NAME IS NULL2011/02/10(木) 06:11:24ID:???
ROWID
07557532011/02/10(木) 09:01:07ID:???
>>754
ありがとうございます。
調べてみたのですが、ROWIDを指定することでROWIDを使って値を参照できそうですが、
そのROWIDを指定してしまうと、同時にinsertに来たスレッドと衝突してしまうかと思います。
プログラム側で直近のrowidを取得したとしても同じようになるかと思うのですが、
これは何か対策があるのでしょうか?

上に書いてあるAUTOINCREMENTなフィールドはPRIMARY KEYにもなっており、そのIDを利用して
ファイルを保存するなどの処理をしようかと思っております。
0756NAME IS NULL2011/02/10(木) 10:36:33ID:???
>755
select * from sqlite_sequence;
0757NAME IS NULL2011/02/10(木) 15:01:16ID:???
>>755
SQLiteメモ:オートインクリメントするカラムの値をINSERT直後に取り出すには - KUMA TYPE
http://blog.kumacchi.com/2008/04/sqliteinsert.html
0758NAME IS NULL2011/02/10(木) 15:42:00ID:???
コラムの削除できないから
テーブルのコピーを削除したいコラムだけ除いておこなった
そしたら

id 自動で番号ふるように設定する
cur_time 自動で今の時間を記録する

のコラムがテキストで 'id' 'curtime' になるようなった
alterで直せないの?
0759NAME IS NULL2011/02/12(土) 18:17:06ID:ptWM/iSx
カラム
0760NAME IS NULL2011/02/13(日) 11:09:54ID:???
コラムス
0761NAME IS NULL2011/02/13(日) 12:36:45ID:???
カラコロム
0762NAME IS NULL2011/02/13(日) 13:37:40ID:???
からむなよ。
0763NAME IS NULL2011/02/13(日) 14:09:56ID:???
からまんぼう
0764NAME IS NULL2011/02/13(日) 14:32:08ID:???
コラムニスト
0765NAME IS NULL2011/02/14(月) 00:59:02ID:???
てす
0766NAME IS NULL2011/02/14(月) 11:45:35ID:???
もっぱらOracleメインで使っていて、Postgresの現場に行ったとき、
「RowIDがないとかこんな腐ったDBMSは嫌だ」
とか思ったけど、SQLite使うようになったらPostgresが
恵まれていたことに気が付かされたよ
まあその代わり、ループで平文SELECT発行するとか、
手抜きしても速度は早いんだけどね
0767NAME IS NULL2011/02/14(月) 14:41:35ID:???
RowIDってなんにつかうの?
0768NAME IS NULL2011/02/14(月) 17:55:06ID:???
OraceやPosgresql と sqlite を比べちゃいかんでしょ。
0769NAME IS NULL2011/02/14(月) 17:55:36ID:???
RowIDはまんぞくにSQLを使えない人のためのお助け機能みたいなものだから
覚える必要は全くないんだよ
0770NAME IS NULL2011/02/14(月) 22:04:05ID:???
>>767
前任者が主キーのないテーブルとか恐ろしいものを残して、
かつ重複レコードが発生してるときに必要になる
>>769みたいな考えの足りない馬鹿の尻拭い機能
0771NAME IS NULL2011/02/14(月) 22:13:01ID:???
>>770
満足にSQLをつかえないとこんな見当外れのレスになる
まさに反面教師だな
0772NAME IS NULL2011/02/14(月) 23:01:34ID:???
だからぁ〜、主キーがない状態でレコードが重複してるっつってるのに、
SQLでどうするのよ?重複したレコードをまとめてDELETEしろとか
言ってるの?馬鹿なの?死ぬの?

馬鹿なのは勝手だけど、もう少し考えてからレスするようにしようよ
0773NAME IS NULL2011/02/14(月) 23:07:17ID:???
うはっww もうちょっとSQLの勉強してこいよ・・・恥ずかしい
0774NAME IS NULL2011/02/14(月) 23:07:33ID:???
この数レスで分かったことは769と771が無能だってこと。
0775NAME IS NULL2011/02/14(月) 23:09:14ID:???
重複する2レコードがあって「かたっぽだけ消したい!」というときにrowIdで指定するってことかな。
0776NAME IS NULL2011/02/14(月) 23:14:15ID:???
>>774
自演しても馬鹿は治らないよ
0777NAME IS NULL2011/02/14(月) 23:15:35ID:???
RowIDを使わななければならないのがダメなのか
RowIDがないのがダメなのか
0778NAME IS NULL2011/02/14(月) 23:19:36ID:???
>>777
前者だろう
RowIDがあってもそれは実装依存でSQLではないからね
0779NAME IS NULL2011/02/14(月) 23:32:22ID:???
その通り
それが理解できていれば
「RowIDはまんぞくにSQLを使えない人のためのお助け機能」
なんて噴飯もののセリフが出てくるわけもなく
0780NAME IS NULL2011/02/15(火) 01:54:58ID:???
文字列についてハッシュ値を生成し、そのハッシュ値からテーブルを作成したいのですが、
どのようにすれば実現できるでしょうか?
0781NAME IS NULL2011/02/15(火) 02:40:10ID:???
>>779
理解できてない奴が偉そうだなw
0782NAME IS NULL2011/02/15(火) 02:44:36ID:???
create table newtable as select id, s, myhash(s) from origtable;

SQL とか必要なときにぐぐるぐらいのスキルだから間違ってるかもしれないけど
たぶんこんな感じ。

myhash は780が自分で作るべきユーザー関数
md5 でも crc32 でもご自由に。
0783NAME IS NULL2011/02/15(火) 10:59:37ID:???
主キーが無いのに重複することってありえるんだろうか
0784NAME IS NULL2011/02/15(火) 11:19:06ID:???
出席をとりマース。

やまだー。
「はい。」「はい。」「はい。」「はい。」
やまだー。
「はい。」「はい。」「はい。」「はい。」
やまだー。
「はい。」「はい。」「はい。」「はい。」
やまだー。
「はい。」「はい。」「はい。」「はい。」
0785NAME IS NULL2011/02/15(火) 11:35:13ID:???
>>784
それ何も問題にならなくね?
0786NAME IS NULL2011/02/15(火) 11:39:40ID:???
何の事か良く解らんがやまだーを退学させるときに問題になるな
0787NAME IS NULL2011/02/15(火) 12:40:23ID:???
やまだは1カラムの情報でしかないから例えにならん。
「X国A県B市C町1-1-1に住んでて2000年1月1日生まれの男性山田太郎」なら特定できるじゃん。
それで特定できないような完全重複が起きうるDBならそれはそれで困らないものってことだろ。RowIDがあれば何かを解決できるとは思えんね。
0788NAME IS NULL2011/02/15(火) 12:46:04ID:???
>>787
自分の言ってることが、何を解決するかを含んでいると気づかないのものなのかね・・・
0789NAME IS NULL2011/02/15(火) 12:56:45ID:???
どのDBでも行を一意に識別する内部IDは持ってる
ただそれが表にモロ出しになってるのがOracle
他のDBは内部でしか使ってないってだけ
0790NAME IS NULL2011/02/15(火) 13:07:26ID:???
えーとつまり、
生徒_id, 点数
ってテーブルにするところを

生徒_国, 生徒_県, (めんどくせ), 生徒_名, 点数
ってテーブルにしろってこと?

それとも
X国A県B市C町1-1-1に住んでて2000年1月1日生まれの男性山田太郎
っていう生徒IDにしろってこと?
0791NAME IS NULL2011/02/15(火) 13:09:18ID:???
めんどくせーからそれぞれ改名させろ
0792NAME IS NULL2011/02/15(火) 13:38:33ID:???
>>790
id,生徒
id,点数
こうしろってことじゃね?
まあ俺なら名前を変えさせるけど。山田太郎mk2とか。
0793NAME IS NULL2011/02/15(火) 13:45:06ID:???
RowIDとか言い出す奴は絶対に信用するなよ
0794NAME IS NULL2011/02/15(火) 16:24:50ID:???
SQLiteスレでする話題ではない罠
0795NAME IS NULL2011/02/15(火) 16:57:10ID:???
確かに。もっと簡単に使いましょ。
0796NAME IS NULL2011/02/15(火) 22:03:22ID:???
>>781=793=馬鹿
結局、重複レコードをどうSQLで処理するんですか〜w
重複除外してテンプテーブルに入れてDELETEしてまたINSERTとか言い出さないでくれよ
それが可能なのはレコード全体が完全重複してる場合だけ

そろそろえらそうなこと抜かすばかりで、ニートタイムに勝利宣言するだけじゃなくて、
いいかげん具体的解法をお願いしますね〜
0797NAME IS NULL2011/02/15(火) 22:22:50ID:???
なにをいっているんだ
レコード全体が重複してなかったらそれは別のレコードだろう?
0798NAME IS NULL2011/02/15(火) 22:59:15ID:???
RowID    出席番号   名前        ひとこと
00001      01    山田太郎    俺が明訓を変える
00002      01    山田太郎    俺が明訓を買える
00003      01    山田太郎    いやいや拙者が明君を
00004      02    ジョンスミス   俺が切り札
00005      02    ジョンスミス   俺がエース
00005      02    ジョンスミス   俺じゃなきゃつとまらん
(以下略

クラス全員に偽者が現れました
欲しい生徒は一番最初に登録された人だけです
他は要りません

自慢のSQLでなんとかしてください
0799NAME IS NULL2011/02/15(火) 23:00:01ID:???
重複するのが嫌なら重複させなきゃいいのだ。
重複させた奴に責任取らせればいいのだ。
0800NAME IS NULL2011/02/15(火) 23:03:06ID:???
なんで一番最初に登録された情報が正しいんだよ
そんなアホみたいな対応する奴は速攻首だろう

もうねSQLとかそれ以前のもんだいだよね
0801NAME IS NULL2011/02/15(火) 23:03:06ID:???
RowIDの00005が重複しちゃってるけどコピペのせい>>798
00006と読み替えるよろし
0802NAME IS NULL2011/02/15(火) 23:07:16ID:???
>>798
その考え方は根本的におかしい。
0803NAME IS NULL2011/02/15(火) 23:08:28ID:???
いやそれROWIDでなんとかすべき要件じゃないからね
0804NAME IS NULL2011/02/15(火) 23:08:59ID:???
>>800 >>802
そうだよ
一番最初に作ったやつがDB知識皆無の馬鹿で、本来一意が望まれるカラムを
プログラムで制御してて、しかもそれにバグがあってコメントが変になって
二重登録とかされるとか、そういう代物にぶち当たった
あまりのひどさに頭を抱えると
「設計に時間を割く人がいるけどここは納期優先だから!」
とか、えらそ〜に抜かしおった
馬鹿はみんな同じだね

だけど、それは今問題にすべきことじゃない
RowIDなしでもSQLでなんとかできるもん!とえらそーに
抜かしたやつが魔法のSQLでなんとかするのが今回のお題だろ?
0805NAME IS NULL2011/02/15(火) 23:10:52ID:???
ちなみにOracleでもROWIDは単に一意なだけで登録順の連番でもなんでもないから
798の希望は満たせないからね
0806NAME IS NULL2011/02/15(火) 23:12:13ID:???
>RowIDなしでもSQLでなんとかできるもん!

そんなこと言ってる奴はいないが
お前は誰と戦っているんだ
0807NAME IS NULL2011/02/15(火) 23:12:39ID:???
>>804
お前大丈夫か
ちょっと分裂症入ってないか?
仮にROWIDがあってもどうにもならないだろうそれ

間違いなく言えるのは馬鹿はお前だ
0808NAME IS NULL2011/02/15(火) 23:14:11ID:???
オマエら・・・容赦ないな
0809NAME IS NULL2011/02/15(火) 23:18:22ID:???
>769 名前: NAME IS NULL [sage] 投稿日: 2011/02/14(月) 17:55:36 ID:???
>RowIDはまんぞくにSQLを使えない人のためのお助け機能みたいなものだから
>覚える必要は全くないんだよ

魔法のSQLはまだかね?
自演ばかりで飽きたぞ
0810NAME IS NULL2011/02/15(火) 23:22:32ID:???
残念な人だ
0811NAME IS NULL2011/02/15(火) 23:23:42ID:???
なんというか
馬鹿に物を教えるってことの限界を感じるな
0812NAME IS NULL2011/02/15(火) 23:25:26ID:???
まー、魔法の回答が出てくると思わなかったけど、結局負け惜しみか

ID出ない板でよかったな
0813NAME IS NULL2011/02/15(火) 23:47:20ID:???
>前任者が主キーのないテーブルとか恐ろしいものを残して
この前提が常識的にありえないのを理解出来ない、貧相な現場でしか働いたことがない残念なカスだな
0814NAME IS NULL2011/02/15(火) 23:48:52ID:???
sawaruna yo
mou hottokou
0815NAME IS NULL2011/02/15(火) 23:49:18ID:???
>>798
ROWIDがあったらどう解決できるの?
何も変わらんわな。
0816NAME IS NULL2011/02/15(火) 23:53:28ID:???
>>798の主張は>>805で完全に論破されたな、涙拭けよ>>798
0817NAME IS NULL2011/02/16(水) 00:21:13ID:???
はあ?なに得意気になってるんだ?>>816
OracleのRowIDはふつーレコード登録する度に新しくなるからなー
よっぽど長く運用してるなら一周するんだろうけど、まあそれがまずいってんなら
もっかいお題出すぞw

RowID    出席番号   名前        ひとこと
00001      01    山田太郎    俺が明訓を変える
00002      01    山田太郎    俺が明訓を買える
00003      01    山田太郎    いやいや拙者が明君を
00004      02    ジョンスミス   俺が切り札
00005      02    ジョンスミス   俺がエース
00005      02    ジョンスミス   俺じゃなきゃつとまらん

太郎とジョンを一人ずつにして、その他は抹殺する魔法のSQLをお願いしま〜すw

負け惜しみは飽きたんで、解を添えてくださいね〜
0818NAME IS NULL2011/02/16(水) 00:30:50ID:KzQQkFbS
おまいらヒマ?
0819NAME IS NULL2011/02/16(水) 00:33:22ID:???
お前に必要なのは魔法のSQLじゃなくて、とっととテーブルの仕様変更して
データを再投入する技術だろ、へっぽこコーダーさん
0820NAME IS NULL2011/02/16(水) 00:34:09ID:???
SQLiteと関係ねーだろ、と思ったらSQLiteにもROWIDってあるんだ
へー

でも使うの自分だけのお一人様DBには関係ないよね
0821NAME IS NULL2011/02/16(水) 00:47:27ID:???
ダンプ吐かして再加工すれば済む話で正直どうでもいいので、これ以上やりたいなら下のスレでどうぞ
http://hibari.2ch.net/test/read.cgi/db/1069324950/

ところでマスターとテーブルでファイルを分けた方がパフォーマンス的に有利?


0822NAME IS NULL2011/02/16(水) 01:50:50ID:???
>>817
SELECT 出席番号, 名前 FROM テーブル GROUP BY 出席番号, 名前
0823NAME IS NULL2011/02/16(水) 02:12:10ID:???
>>817
>太郎とジョンを一人ずつにして、その他は抹殺する魔法のSQLをお願いしま〜すw

なぜそれが不可能だと思ってるのか理解に苦しむな。
ほれ。
delete from table where 出席番号 = 01 and (ひとこと = '俺が明訓を買える' or ひとこと = 'いやいや拙者が明君を')
delete from table where 出席番号 = 02 and (ひとこと = '俺がエース' or ひとこと = '俺じゃなきゃつとまらん')
お前、WHEREには単一カラムしか使えないとでも思ってるの?

もちろん>>822のようにしてもいい。というかそっちの方がよほどスマートだな。

結局ROWIDがあるかないかの問題ではないだろうが。

もしROWIDが登録順に振られることが保証されるなら、お前が>>798で書いたような「一番最初のものだけ残したい」という用途において有効なわけだが、それは>>805で論破された。

で?
0824NAME IS NULL2011/02/16(水) 02:21:47ID:???
お前もしつこいよ
改行忘れるぐらい興奮する前に空気嫁カス
0825NAME IS NULL2011/02/16(水) 04:01:11ID:???
>>798, >>804
ビックリするほど馬鹿だなお前wwww
こんな奴がIT業界にいると思うと世も末だ
0826NAME IS NULL2011/02/16(水) 05:39:42ID:???
もうやめましょ。
sqliteにはそんなものありません。
どうしようもありません。
0827NAME IS NULL2011/02/16(水) 06:22:55ID:???
一連の流れを読んだ

>>804も結局「RowIDはまんぞくにSQLを使えない人のためのお助け機能」という主張だよな
自分が何言ってるのか全く理解してない所が絶望的に馬鹿だけど
同じ主張を持つもの同士仲良くしろよ
0828NAME IS NULL2011/02/16(水) 07:16:53ID:???
そもそも>>817にはひとつも重複行がないじゃん
何言ってんだこのバカ
0829NAME IS NULL2011/02/16(水) 07:36:58ID:???
チョコレートくれたら静かにする。
0830NAME IS NULL2011/02/16(水) 10:17:04ID:???
ネギあげますぅ
0831NAME IS NULL2011/02/16(水) 13:09:22ID:???
ところで、>>817はバカだから思いつけなかったようだけど、
全てのカラムが完全に重複してるレコードがあるテーブルにおいて、そのうちの1行だけを指定した操作を行いたい時にはROWIDが必要になるだろうな。
まあ全deleteして適宜再insertでも同じことはできるけど。
0832NAME IS NULL2011/02/16(水) 13:55:42ID:???
すべてのカラム値が重複しているならDISTINCTとGROUP BY使えばいいじゃん.
なんでROWIDが必要なの?
0833NAME IS NULL2011/02/16(水) 14:12:41ID:???
>>798
LIMIT 1 で消すか、ひとことで消せばいいよね
0834NAME IS NULL2011/02/16(水) 15:54:25ID:???
Version 3.7.5 of SQLite is recommended for all new development.
Upgrading from all prior SQLite versions is recommended.

これからSQLite使う奴は3.7.5が推奨だ
前のバージョン使ってる奴らはとっととアップグレードしろ
繰り返す、古いバージョン使ってる奴らはとっととアップグレードしろ
これは訓練ではない
以上
0835NAME IS NULL2011/02/16(水) 16:57:42ID:???
>>834
理由を述べよ
0836NAME IS NULL2011/02/16(水) 17:19:50ID:???
1回のSQLで頑張らなくても
重複全削除→正常なデータを追加
で済む話だろ
0837NAME IS NULL2011/02/16(水) 17:33:18ID:???
重複全削除ですでに正常なデータが存在しないわけだが・・・
0838NAME IS NULL2011/02/16(水) 17:39:50ID:???
>>834 >>835
それ、バージョンアップのたびにしょっちゅうそのアナウンスが出てるから、
別に 3.7.5 だけが特別なバージョンアップってわけではないよ。
0839NAME IS NULL2011/02/16(水) 17:47:10ID:???
>>838
今さらそんな情報が何だというんだ
0840NAME IS NULL2011/02/16(水) 18:03:10ID:???
>>839
ごめん、意味がわからない。
0841NAME IS NULL2011/02/16(水) 18:05:24ID:???
また馬鹿が沸いてきたのか?
0842NAME IS NULL2011/02/16(水) 18:56:01ID:???
つか、834 はただ訳しただけに見えるんだが。
08438312011/02/16(水) 19:15:41ID:???
>>832
アホの>>817を擁護するつもりはないんだけどさ、それはSELECTの時ならそれでいいと思うけどUPDATEやDELETEには使えないんジャマイカ
0844NAME IS NULL2011/02/16(水) 19:19:41ID:???
LIMIT
08458312011/02/16(水) 20:06:51ID:???
そうか、確かにLIMITでいけるな。
これで>>817が求める魔法の SQL(w とやらは出揃った感じかな。
0846NAME IS NULL2011/02/16(水) 20:34:01ID:???
>>817みたいな奴がうちの会社にいないか心配だ
0847NAME IS NULL2011/02/16(水) 21:48:03ID:c8qdF154
>>823
ゲラゲラ
まさかホントにマジレスしてアホみたいにWhere条件並べるとはさすがに予想外だったわ
しかも夜中にw
せっかく流れを変えようとしてくれた人がいるのに、わざわざ興奮して回答してくれるとは感謝に堪えないです

今回>>817でわざとレコード数と条件を限定して、お題を出したのは、条件句をズラズラ
並べるってその馬鹿な解法が見たかったからなんだが、まさかまんまと得意気になって
披露してくれたとは素晴らしい!さすがSQLのプロ!すごいぜ!!
おまけにGROUP BYじゃレコードが限定できないのに
「というかそっちの方がよほどスマートだな。 」
ってどんだけ真性なんだよー、って凄すぎて感動した!

さて、期待以上の迷回答が出たところで応用問題です(・"・)キリ

RowID    出席番号   名前      自己紹介    気になること      ひとこと
00001      01    山田太郎   食欲旺盛です  グルーポンのおせち がんばる
00002      01    山田太郎   食欲旺盛です  グuル、ポンのお    がんばる
00003      01    山田太郎   食欲旺盛です  グuル、ポンのお    がんっbr
00004      02    ジョンスミス   俺が切り札   尖閣問題        俺はリーダー
00005      02    ジョンスミス   俺gkりfd    尖閣問題        俺はリーダー
00006      03    梨野権平    種撒きます   八百長メール      伝統第一
00007      03    梨野権平    種撒きます   八百長メール      伝統第一
(略
00099      10    佐藤一郎    イチローです  小沢さん         なかよくしてね
00100      10    佐藤一朗    イ&TO-dす   小沢さん         なかよくしてね

Q.クラス名簿のテーブルがあります。本来は出席番号が一意だと期待されていましたが現実は見ての通りです
上記の選択結果から傾向を推測して、まともなレコードだけ引っこ抜いてみてね
今回は仕込みなしなので存分にGROUP BYとかLIMITで得意気になってもオッケーですよ

ちなみに俺が見たいのは馬鹿丸出しのWhere列挙でも魔法のSQLでもどっちでもいいんだからね(・∀・)
0848NAME IS NULL2011/02/16(水) 21:49:23ID:???
チョコやるから帰れ。
0849NAME IS NULL2011/02/16(水) 21:55:30ID:???
>>847 もう君がなにを言ってもだれも相手にしないとおもうんだ
だって君さ、ほら、馬鹿だから
0850NAME IS NULL2011/02/16(水) 22:34:58ID:???
マスターとテーブルを分けるっての、試してみる価値はあるかなと思って、
SQLite.NETでファイルを2つ読み込ませてみたら、接続文字列が別になると
データセットも別になるんだね・・・・。

パフォーマンス以前にリレーションが貼れないお・・
0851NAME IS NULL2011/02/16(水) 22:38:17ID:???
見ていて気になったんだが
ROWID使わずに重複行の削除をするSQLはスマートに書ける?

SQL> set feedback off
SQL> create table hoge (col char(3));
SQL> insert into hoge values('AAA');
SQL> insert into hoge values('AAA');
SQL> insert into hoge values('AAA');
SQL> insert into hoge values('BBB');
SQL> insert into hoge values('BBB');
SQL> insert into hoge values('CCC');
SQL> insert into hoge values('CCC');
SQL> insert into hoge values('DDD');
SQL>
SQL> delete from hoge h1 where rowid > (select min(rowid) from hoge h2 where h1.col = h2.col);
SQL>
SQL> select * from hoge;

COL
---
AAA
BBB
CCC
DDD
0852NAME IS NULL2011/02/16(水) 22:49:28ID:???
>>847
丸一日かけて必死に長文書いてたんだな…
どこを縦読みしたらいいのかよくわからないけどとにかく健気なことよ
0853NAME IS NULL2011/02/16(水) 23:03:06ID:???
>>851

CREATE TEMPORARY TABLE TempHoge(
 SELECT DISTINCT hoge.col AS fuga FROM hoge
):
DELETE FROM hoge;
INSERT INTO hoge SELECT fuga FROM TempHoge;
DROP TABLE TempHoge

こんな感じ?
SQLite的に正しいのかどうか自信ないので念のため
0854NAME IS NULL2011/02/16(水) 23:04:51ID:???
>>847
おまえ、ものすごい恥垢臭で周囲から生きる悪臭公害と言われているぞ。
その狂った頭の方は手のつけようがないけど、包茎は治る障害なんだから、
手術しろよ。

0855NAME IS NULL2011/02/16(水) 23:05:28ID:???
>>853
transaction で囲む?
0856NAME IS NULL2011/02/16(水) 23:05:51ID:???
>>854
お前が消えろキチガイ
空気読めや
0857NAME IS NULL2011/02/16(水) 23:16:18ID:???
>>855
もちろん
0858NAME IS NULL2011/02/16(水) 23:18:03ID:???
>>851
既出だけどROWIDは通し番号じゃなくてGUIDみたいな文字列なので
MINとかMAXとかを使っても意図した列は取れない
別にSQL1回でやらなきゃいけない決まりなんてないんだから
単純に重複の除去なら853みたいにすればいいし
それ以外の方法でもどうにでもできる
0859NAME IS NULL2011/02/16(水) 23:19:32ID:???
>>853
ベースがOracle使いなんでlimitの制約がわかんなくて
もしやlimit にselect count(*) -1 みたいに書けるのかもと思ってけど無理なんですね
0860NAME IS NULL2011/02/16(水) 23:23:01ID:???
文字列でもmin/maxは採れるっての
何を言ってるんだ
0861NAME IS NULL2011/02/16(水) 23:24:58ID:???
>>860
ひんと: 意図した列
0862NAME IS NULL2011/02/16(水) 23:26:19ID:???
ASCIIコードの順になるんだからmin/maxで意図できるだろ

何を言ってるんだ
0863NAME IS NULL2011/02/16(水) 23:38:33ID:???
>>858
何か意図してくださいとかそんな要件を書いたつもりはないですし
そもそも同じデータなんだから何か意図する必要はないです

別に複数回のSQLでも構わないですので、それ以外の方法とやらを披露願います
0864NAME IS NULL2011/02/16(水) 23:42:56ID:???
>>853だけど、書いておいてなんだけどダメでしたね
テンポラリテーブルじゃなくて、あの書き方じゃVIEWだった
ごめんなさい
また書くの面倒なので各自で脳内補完してください

0865NAME IS NULL2011/02/16(水) 23:53:28ID:???
馬鹿の相手するなんてお前ら優しいな
0866NAME IS NULL2011/02/17(木) 00:02:46ID:???
なんだかんだ 暖まったのでわとw

>>864
だいじょぶ だいじょぶ
0867NAME IS NULL2011/02/17(木) 00:09:48ID:???
実際、テンポラリテーブルにDISTINCT/GROUP BY/LIMITで待避させて、
その間に本丸を消すやり方以外にあるんですかね

>>858は他にどんな方法があると?
0868NAME IS NULL2011/02/17(木) 00:28:00ID:???
>>847
その問題ってカラム数増やしただけで>>823から全く変わってないよな。
ROWIDがあろうとなかろうとできるだろ?応用も糞もない…。
そろそろいい加減にROWIDがないとできない問題出してくれないかな。
それともROWIDがあればDBMSが「まともな日本語」を自動判別して選んでくれるのか?そんな魔法のようなSQLがあるならぜひ教えて欲しいんだが。
0869NAME IS NULL2011/02/17(木) 00:33:23ID:???
ああ、まるで変わってない元の問題は>>823じゃなくて>>817だったな。
0870NAME IS NULL2011/02/17(木) 00:35:42ID:???
SQliteはまだまだ勉強中なんだがPL/SQL書けないん?
>>851ならcolをDISTINCTで取ってLOOPしてLIMIT 1だけで最初のレコード取れるし
結局テンポラリ作って放り込むんだけどさ
0871NAME IS NULL2011/02/17(木) 00:41:00ID:???
また興奮して改行しない馬鹿が暴れてるし・・・

>>870
SQLiteはお一人様DB
ストアドとか期待するようなものじゃないですから
0872NAME IS NULL2011/02/17(木) 00:45:25ID:5d2yNMAf
また、コラム小僧現れないかな。
低俗に荒れるから
0873NAME IS NULL2011/02/17(木) 00:49:34ID:???
>>872
>>871
0874NAME IS NULL2011/02/17(木) 01:43:46ID:???
お前らあんまりガキンチョ虐めてやるなよ
あれ、でも前任者とか言ってたし、小学生ではないのか?
0875NAME IS NULL2011/02/17(木) 06:29:09ID:b4vufGLH
重複行なんかUNIONすりゃ一発で消えんだろうが
0876NAME IS NULL2011/02/17(木) 06:42:03ID:???
うにおん!

0877NAME IS NULL2011/02/17(木) 07:18:57ID:???
Kieruyo!!MIRACLE
0878NAME IS NULL2011/02/17(木) 15:59:15ID:???
>>847
「全部where区で選択+LIMIT 1」 じゃだめなのか?

少しでも違いがあるのであれば、区別がつくからそれを削除
まったく同一な場合はどれを消してもいいのでLIMIT 1で削除

これでまったく矛盾ない制御ができるよね
0879NAME IS NULL2011/02/17(木) 16:02:15ID:???
これはphpmyadminなんかがmysqlの操作するときの手法なので
荒唐無稽な話ではないよ
0880NAME IS NULL2011/02/17(木) 16:27:57ID:???
SQLiteならROWIDあんだからもういいだろ
なんの役にもたたない議論は秋田
0881≠8472011/02/17(木) 16:38:36ID:???
とてもヒドイ唯一の実装ですね
大変参考になりました
おしまい
0882NAME IS NULL2011/02/17(木) 17:12:54ID:???
SQLも満足に使えない馬鹿がやってはいけない実装をした後
SQLも満足に使えない馬鹿が解決すべき問題を放置したケースだな
非常にどうでもいい無駄話
0883NAME IS NULL2011/02/17(木) 17:49:05ID:???
>>879
真っ当な指摘。(全く不可能ではないが、かなり醜く非効率になるという意味で)
>>847はおバカちゃんなのでそういうツッコミもできずただカラム増やすしかできないんだよね、かわいそうな子。
0884NAME IS NULL2011/02/17(木) 17:56:03ID:???
>>882
だけど、スキーマいじれない下請けだとこうするしかないよね。
問票には「adhocな対応したけど根本対処ならスキーマ直せ」
と書いてクローズ判子貰いに行きますよ。
0885NAME IS NULL2011/02/17(木) 18:17:11ID:???
>>884
典型的な妥協の産物的レガシーシステム
そして誰も何もしない
0886NAME IS NULL2011/02/17(木) 22:57:26ID:dlRsiEpJ
RowIDの有効性に気付きつつも認められない、そんなチンケなプライドを
頼りに2chで負け惜しみをやめられない滑稽な負け犬の怨嗟が気持ちいい
0887NAME IS NULL2011/02/17(木) 22:59:34ID:???
>>862
>ASCIIコードの順になるんだからmin/maxで意図できるだろ

ひんと: ROW ID の ASCII コード順にしたいわけじゃない

# ひょっとして GUID みたいなものって言うのが理解できてないのか?
0888NAME IS NULL2011/02/17(木) 23:04:06ID:dlRsiEpJ
文字列のMINを取れないとか噴飯ものの珍説を力説するわ、
他に方法はある!とか言って何も解を出せないとか、
そんなチンケなやつがまた頑張りはじめた様子
0889NAME IS NULL2011/02/17(木) 23:10:33ID:???
>>886 >>888
なんでそんなに頭悪いの?
0890NAME IS NULL2011/02/17(木) 23:33:00ID:???
> RowIDの有効性に気付きつつも認められない、そんなチンケなプライドを
> 頼りに2chで負け惜しみをやめられない滑稽な負け犬の怨嗟が気持ちいい

語るに落ちるだな。こういう奴ってなんでだか
罵倒してるつもりで自分の現状を説明しちゃうんだよね。

RowIDが万能でないと気付いてしまって、自分の無知を認めさせられまいと
話題をそらすのに必死なだけだろうに。「滑稽な負け犬の怨嗟」とは実に的確だ。
0891NAME IS NULL2011/02/17(木) 23:42:05ID:???
>>888
>文字列のMINを取れないとか噴飯ものの珍説を力説するわ、

そんな奴いたっけ?どのレス?
0892NAME IS NULL2011/02/18(金) 00:35:11ID:???
>既出だけどROWIDは通し番号じゃなくてGUIDみたいな文字列

これ大嘘
ソースコード読めや

int regRowid = iMem++; /* Rowid for the inserted record */

半可通の知ったか乙
0893NAME IS NULL2011/02/18(金) 01:02:53ID:???
>>892
本当にソースコードを読んだことあるならこんな間抜けなレスはしない
勉強不足ですぞ
0894NAME IS NULL2011/02/18(金) 01:12:53ID:???
>>893
はあ?何言ってるの?
具体的に説明できずにグダグダ言い訳して、相手が根負けするまでしつこく粘ろうって
頭のおかしいやつによくあるパターン?
あんたは知ったかの間抜けじゃなくてただのキチガイなのかな

違うって言い張るなら、適当にデータ作ってSELECT rowidしてみろよ
現実に通し番号の数値が出てくる
0895NAME IS NULL2011/02/18(金) 01:20:14ID:???
おお失礼失礼、文字列でなく数値だと言いたかったのか
てっきりROWIDは通し番号だと言い張ってるのかと勘違いしてたよ

>現実に通し番号の数値が出てくる
え?もっとよくソース嫁よ
0896NAME IS NULL2011/02/18(金) 01:24:46ID:???
はいはい
具体的に出せないから粘ろうっていうんですね
おそらくインクリメント演算子とか言っても理解できないだろうし、
そこまでヒマ人じゃないので勝手に勝利宣言を言い続けてくださいね
そのツラの皮の厚さが何かの役に立つと良いですね
0897NAME IS NULL2011/02/18(金) 01:27:39ID:???
In SQLite, every row of every table has an 64-bit signed integer ROWID. The ROWID for each row is unique among all rows in the same table.

http://www.sqlite.org/autoinc.html

此話題秋田。
0898NAME IS NULL2011/02/18(金) 01:28:03ID:???
は?ROWIDは再利用されるケースがあるんだよ
ヒント上げたらからもう一回ソース読んでおいで
0899NAME IS NULL2011/02/18(金) 01:30:13ID:???
はいはい
i64という天文学的な数値が再利用されるのと、
「rowidはGUIDみたいな文字列」
とかいう大ボラが等価になるんですよね
0900NAME IS NULL2011/02/18(金) 01:40:04ID:???
ヒントとか言ってる無敵くんはもう相手にすんな
明らかな嘘でも認めないのがキチガイってもん

この手のって中国人の女に多いよw
0901NAME IS NULL2011/02/18(金) 01:43:07ID:???
君はなにと戦っているんだい
明示的にROWIDを指定できる以上i64の最大値がうんぬん以前に通し番号であるとは定義できない
0902NAME IS NULL2011/02/18(金) 01:43:51ID:???
ちなみに「rowidはGUIDみたいな文字列」は俺のレスじゃないぞ
0903NAME IS NULL2011/02/18(金) 01:47:41ID:???
はいはい
無敵くんの言う通りですよね
rowidはGUIDのような文字列ですよね
天文学的な数値が桁あふれするほど、お一人様DBでは多大な負荷がかけられるんですよね
詭弁のガイドラインに「ごくまれな反例」云々とかあるのも、無敵くんのために作られてるんですよね

じゃあがんばってください
0904NAME IS NULL2011/02/18(金) 01:48:27ID:???
>>897
あれ あったのねw
知らないだけだったのね。
ま 今後も使う事はないと思う。
pgsqlにもなかったっけ?
0905NAME IS NULL2011/02/18(金) 01:48:57ID:???
>>903
>>901
0906NAME IS NULL2011/02/18(金) 01:48:58ID:???
>>902
猿芝居やめれ
ヒントとか寒いこと言ってるのお前しかいないんだからww
0907NAME IS NULL2011/02/18(金) 01:50:52ID:???
>>906
完全にキチガイだな
0908NAME IS NULL2011/02/18(金) 01:52:36ID:???
>ヒントとか寒いこと言ってるのお前しかいない

ワロタ
0909NAME IS NULL2011/02/18(金) 01:59:06ID:???
検索したら 858 のレスにコイツはずっと粘着してたのかw
それ以前にROWIDの話題で荒れてたのか・・・・・

>>903は さんざん馬鹿にされているのと同じ人?
0910NAME IS NULL2011/02/18(金) 01:59:12ID:???
ヒント(キリッとか寒い感性はいくら別人のふりしてもごまかせないよなーw

こんだけ分かりやすいフラグを発してるやつも珍しいおww
0911NAME IS NULL2011/02/18(金) 02:01:10ID:???
>>909
もうヒント(キリッはいいから、これ以上笑わせないでくれ・・・
眠れないじゃないかァァァ
0912NAME IS NULL2011/02/18(金) 02:05:55ID:???
ROWIDが通し番号でないことは理解できたかい?
0913NAME IS NULL2011/02/18(金) 02:07:44ID:???
(キリッ
0914NAME IS NULL2011/02/18(金) 02:28:54ID:???
また馬鹿が暴れて墓穴掘ったのかw

>>894
>具体的に説明できずにグダグダ言い訳して、相手が根負けするまでしつこく粘ろうって
>頭のおかしいやつによくあるパターン?
さすが自分のやることはよく理解しているようだな
0915NAME IS NULL2011/02/18(金) 02:31:42ID:???
月曜から誰にも賛同されず、馬鹿にされ続けているのに、まだ続けると言うのか
「俺の敵は全て馬鹿一人が自演してるだけ」という防衛機制が働いてる馬鹿はマジで救いようが無い
このタイプの馬鹿は死んでも直らない
0916NAME IS NULL2011/02/18(金) 02:37:01ID:???
ヒントのオッサン、いつまで頑張る気なんだww

・明らかな嘘への指摘に対して、それを置いて枝葉末節に噛みつく
・あくまでも具体例を挙げずに(というかソースが読めないから)レスを引き延ばす手法
・「ヒント」とかずれた感性

こんだけフラグが立ってるんじゃ、もう猿芝居で勝利宣言(キリッを続ける以外はないよねw

0917NAME IS NULL2011/02/18(金) 02:40:33ID:???
つーかRowIDなんてDDL使ったらめちゃくちゃになるもんをアテにコーディングするなんて、キチガイの所業。
しかもID用途じゃなく、RowIDの大きい小さいを目当てにしてるなんて、ホント、マジキチ。
普通ならコードレビューでぶん殴られる。
0918NAME IS NULL2011/02/18(金) 02:40:45ID:???
>>916
日本語が不自由そうなので、SQLで書いてもらっても良いですよ
0919NAME IS NULL2011/02/18(金) 02:42:42ID:???
もう自演と信じ込まないと精神崩壊してしまう段階まで来てしまったんだねw
0920NAME IS NULL2011/02/18(金) 02:43:11ID:???
涙が出てきた
0921NAME IS NULL2011/02/18(金) 02:50:01ID:???
>>916 君やばいなw 精神分裂状態だな
これ以上虐められると自殺しかねないwww
0922NAME IS NULL2011/02/18(金) 02:55:55ID:EsuEucvC
大体、GUIDなんて得意気に知ったかこくから突っ込まれるんだよ
そもそも突っ込んだの俺じゃねえし、勝手に自爆しておいて俺のせいにすなやww
あっさり釣られるわ、GROUP BYだとか、ヒント(キリッとか何回目の自爆なんだね

違うってなら、これからずっとID出して書き込んでみなさい
自爆が怖いんだろうから、できるわけねーけどなー
0923NAME IS NULL2011/02/18(金) 02:59:03ID:dHOu19G1
自殺しないでくれよ
0924NAME IS NULL2011/02/18(金) 02:59:26ID:???
まずお前の今日のレス番を列挙しろよ
それと・・・IDってどうやって出すの?
0925NAME IS NULL2011/02/18(金) 02:59:59ID:EsuEucvC
うん
こんな楽しい猿芝居が見られるなら死ぬの我慢するお
0926NAME IS NULL2011/02/18(金) 03:18:55ID:dHOu19G1
sageないだけ
0927NAME IS NULL2011/02/18(金) 03:25:38ID:???
>>922
頭悪そう
0928NAME IS NULL2011/02/18(金) 03:34:20ID:???
何のはなししてるのか分からないし、これがいつまで続くのか分からないけど
IDじゃなくてトリップ付けてくんない?NGにするにはそっちの方が都合がいいから
0929NAME IS NULL2011/02/18(金) 03:57:10ID:???
今夜もまたやってるのか
もう気違いの相手をするのはやめようぜ
0930NAME IS NULL2011/02/18(金) 05:36:37ID:???
RowIDが通し番号とか馬鹿かこいつwwwww
0931NAME IS NULL2011/02/18(金) 06:56:01ID:???
よいこのための今週の復習
>>851
>>853 → >>864
>>858
>>863
>>867
以後言い争いをROWIDが文字列だのGUIDだのにすり替えに成功
今日はGUIDについて宿題だすから!忘れるなよ
0932NAME IS NULL2011/02/18(金) 06:57:14ID:???
件の包茎くんは自分の恥垢臭で頭がおかしくなってしまったから、しょうがないのです。
0933NAME IS NULL2011/02/18(金) 07:01:01ID:???
もう基地街には懲り懲りだよ
0934NAME IS NULL2011/02/18(金) 07:36:18ID:???
>>931 >>932
?
意味がわかりません
0935NAME IS NULL2011/02/18(金) 10:11:49ID:???
ごめんねほんとうにごめんね
SQLiteのROWIDのことまったく知らずに
OracleのROWIDのことずっと話してた俺が悪かったんだね
0936ヒント2011/02/18(金) 10:27:19ID:???
ID表示のヒントください。
0937NAME IS NULL2011/02/18(金) 11:10:46ID:???
ROWID君はいつまで生き恥をさらし続けるのだろうか
0938NAME IS NULL2011/02/18(金) 11:32:44ID:???
>>936
>>926
0939NAME IS NULL2011/02/18(金) 12:45:54ID:???
Oracleこと良く知らないんだけど、OracleのROWIDは数値ではないってこと?
0940NAME IS NULL2011/02/18(金) 13:08:53ID:???
>>939
ttp://www.shift-the-oracle.com/sql/column/rowid.html
OracleのROWIDは10byteのバイナリ
普通にselectすると18byteの”外部文字ROWID”が見える
別に内部ROWIDもあるらしい
0941NAME IS NULL2011/02/18(金) 13:15:01ID:???
>>940
さすがOracle
深いというか複雑というか。
0942NAME IS NULL2011/02/18(金) 16:14:55ID:???
>>935
いや、馬鹿豚>>817がOracleのROWIDの話を始めたんだから、お前は悪くない
0943NAME IS NULL2011/02/18(金) 18:51:59ID:???
傷のなめ愛
0944NAME IS NULL2011/02/18(金) 19:24:35ID:???
>>798
こいつばかじゃね〜の
0945NAME IS NULL2011/02/18(金) 19:36:05ID:???
>>944
もういいってw
0946NAME IS NULL2011/02/18(金) 19:38:17ID:???
>>804
こいつもかなり酷いぞ
0947NAME IS NULL2011/02/18(金) 19:39:16ID:nLsmwyvW
民度が極度に低いスレだね
0948NAME IS NULL2011/02/18(金) 19:43:53ID:???
>>817
いやいやこいつがチャンピオンだろうw
0949NAME IS NULL2011/02/18(金) 22:19:07ID:???
つか要件満たすのにROWID使わない。で終わりなのになぜROWIDで盛り上がってんの?
0950NAME IS NULL2011/02/18(金) 22:35:05ID:???
基地街降臨
0951NAME IS NULL2011/02/18(金) 22:57:08ID:EsuEucvC
IDをさらせず負け犬の遠吠えを繰り返すヘタレニートの怨嗟の声が心地いい

ああ、敗北を知りたい・・・
0952NAME IS NULL2011/02/18(金) 23:00:55ID:???
>>951
お前負けてんだよwww
そりゃもう見てて無残な位に
0953NAME IS NULL2011/02/18(金) 23:11:54ID:???
>>951
一週間経つわけだが、お前の意見に賛同してくれた奴、居たかい?
0954NAME IS NULL2011/02/18(金) 23:18:02ID:EsuEucvC
得意気に釣られ長大な条件句、スマートGROUP BY(笑)、他に方法アル!→ナイアルヨ、
そしてちったかGUID、ヒント(キリッなど救いがたい無能さからくる数々の自爆

そして自爆が怖くてIDさらせない敗北虫が、押し寄せるストレスに耐えきれずニートタイムに大発狂

くやしいのうww
0955NAME IS NULL2011/02/18(金) 23:19:17ID:???
実に悔しそうで良い感じのレスだね
0956NAME IS NULL2011/02/18(金) 23:21:37ID:???
止まったゼリーを揺らす基地外のせいでまたこれだよ…
0957NAME IS NULL2011/02/18(金) 23:25:51ID:???
驚くべきは ID:EsuEucvC のレスや意見でひとつも正しい物が無いことなんだよ
どれも総突っ込み受けて馬鹿にされたら話題を変えて、また馬鹿にされての繰り返し

ここまで頭悪い奴は滅多にお目にかかれない
0958NAME IS NULL2011/02/18(金) 23:29:15ID:???
>>954
お前の顔赤黒くなってそうだな
ちゃんと呼吸しないと死ぬぞ?
0959NAME IS NULL2011/02/18(金) 23:30:28ID:???
これが、押し寄せるストレスに耐えきれない敗北虫の姿…
0960NAME IS NULL2011/02/18(金) 23:43:42ID:pXEgTP7Q
SQLiteスレの結論としては
ROWIDはOracleのそれと違って登録順に連番が振られるから
主キーみたいに使えて便利!
でもDELETE→INSERTすると同一番号振られるから、
ユニークキーとして使うとまずいケースもあるよ〜
ってことで
もうほんと勘弁していただけませんかね
>>805=>>935からの切実なお願いでした
0961NAME IS NULL2011/02/18(金) 23:54:08ID:EsuEucvC
>>960
>でもDELETE→INSERTすると同一番号振られるから

また試しもしないで自爆かいね
まあID出して告白してきた点に免じて、優しい俺は今回それ以上の追求はしないけど、
それは明らかに違うんだからね!

COMMITしてませんでした、とかナシなー
0962NAME IS NULL2011/02/18(金) 23:54:18ID:???
>>960
そんな言い方でキチガイ馬鹿に通用するわけが無いだろw
別にお前は関係ないから諦めろ
0963NAME IS NULL2011/02/18(金) 23:57:34ID:EsuEucvC
>>962の虫はSQLまんぞくおじいちゃんか

「RowIDはSQLがまんぞくに使えない人のお助け機能なんじゃ ほっほっほ」

という名言を吐いた人ですね
0964NAME IS NULL2011/02/19(土) 00:04:06ID:???
http://www.dbonline.jp/sqlite/table/index8.html
ここには同じ値が割り当てられる可能性があるって
書いてあるけどな
0965NAME IS NULL2011/02/19(土) 00:12:40ID:dcvV/oBv
>>964
毎日100万件インサートして、100万件デリートしても1263億年かかるけどな
RowIDが再利用される日が訪れるよりも、地球が白色矮星に飲み込まれる方が早いんじゃね?

だから試していないのは明白だが、まあ今回はそれは追求しないでやる
0966NAME IS NULL2011/02/19(土) 00:13:39ID:???
>>960
気違いちゃんが >>817 で自らOracleのRowIDを前提としているから、君は難癖を付けられて標的にされだけなんだよ

SQLITEのROWIDは64bit整数値で保存されるけど、

・ROWIDは最大値まで使い切ったら使っていない番号を再利用する
・ROWIDはユーザがINSERT時に指定可能
・vacuumを使用した場合1から詰めて再採番される
・他のテーブルにデータをインポートした場合インポート時に新しいテーブルのROWIDが決定される

つまり仕様上、ID:EsuEucvC の気違いちゃんが言う 挿入順を保証する情報じゃないのさ
0967NAME IS NULL2011/02/19(土) 00:15:58ID:???
>>965
相変わらず馬鹿だなぁ
0968NAME IS NULL2011/02/19(土) 00:17:01ID:dcvV/oBv
ID出さないやつは敗北虫だから読む価値ゼロだね

1263億年生きられないから時間は大切だー
0969NAME IS NULL2011/02/19(土) 00:46:17ID:0y7I806U
なんでrowidに固執するんかの

SQLの仕様ではそのような性質を持つものはシーケンスになってるだろ
ローカルのSQL仕様でがたがた騒ぐことも無いだろ

SQLiteはシーケンス無いかもしんないけど


ちなみにoracleではrowidじゃなくてrownumが似たようなものだったな
0970NAME IS NULL2011/02/19(土) 00:49:04ID:???
>>969
伝説的な馬鹿の出現でそうなっただけで
レスを読み返せば流れはわかるだろうけど時間の無駄だからお勧めしない

ROWIDをNGWordに入れた方がいい
0971NAME IS NULL2011/02/19(土) 01:07:59ID:???
そろそろ次スレを立てたほうがいいのでわと
0972NAME IS NULL2011/02/21(月) 16:14:20.81ID:???
>>969
全然似て無いだろ・・・
rownumは「結果セット」につくもので
永続性はまったく無いだろ
0973 冒険の書【Lv=2,xxxP】 2011/02/21(月) 22:41:13.83ID:???
test
0974NAME IS NULL2011/02/21(月) 22:48:02.26ID:???
tast
0975NAME IS NULL2011/02/21(月) 22:51:15.36ID:???

                      + 激しく忍者 +
            X
      ∠ ̄\∩
        |/゚U゚|丿
      〜(`二⊃
       ( ヽ/
        ノ>ノ
       UU
0976NAME IS NULL2011/02/21(月) 23:00:42.05ID:???
>>969
わざとか?
全てが致命的に間違ってる
0977NAME IS NULL2011/02/21(月) 23:14:13.43ID:???
お前らスルー能力無いのな
0978 冒険の書【Lv=2,xxxP】 2011/02/23(水) 01:38:25.39ID:???
SELECT * FROM SQLITE_MASTER
0979NAME IS NULL2011/02/23(水) 13:39:39.26ID:???
not found.
0980NAME IS NULL2011/02/24(木) 13:03:08.80ID:???
>>798
>>804
>>817
こいつ馬鹿じゃね
頭悪いにも程があるつぅーの
0981NAME IS NULL2011/02/24(木) 14:18:08.53ID:???
いやもういいから
0982NAME IS NULL2011/02/24(木) 22:52:51.47ID:???
>>980
なんだ、そいつwwwwww
噴飯ものの間抜けだなwww
0983NAME IS NULL2011/02/24(木) 23:19:14.99ID:???
もう>>817ネタはいいよ。
0984NAME IS NULL2011/02/24(木) 23:21:09.40ID:???
梅
0985 忍法帖【Lv=5,xxxPT】 2011/02/25(金) 00:24:24.08ID:???
INSERT INTO ANAL
0986NAME IS NULL2011/02/25(金) 10:13:27.96ID:???
>>980
次スレよろしく
0987NAME IS NULL2011/02/25(金) 10:14:16.09ID:???
tksqliteでTEXTのカラムに'0001'と入力すると'1'で保存されてしまうのですが、
回避方法はないでしょうか?
先頭のゼロが消えてしまうようなのですが。

例:↓のnameのカラム
CREATE TABLE 'asd' (
'id' INTEGER PRIMARY KEY AUTOINCREMENT,
'name' TEXT DEFAULT ''
)
09889872011/02/25(金) 11:10:24.45ID:???
回避方法はありました。F4キーのデータ編集ウィンドウで入力すればいいようです。
そうでないと0x01を入れたときも同様に
unrecognized token: "0x01"
UPDATE 'main'.'asd' SET "name" = 0x01 WHERE rowid = 8;
というエラーになることが判明。
0989NAME IS NULL2011/02/25(金) 21:50:00.24ID:???
SQLiteってインラインビューできないの?
0990NAME IS NULL2011/02/26(土) 12:02:52.48ID:???
アイラビューオーケー
0991NAME IS NULL2011/02/26(土) 12:09:38.75ID:???
>>989
ただの副問い合わせなんだし普通に動くだろ
0992NAME IS NULL2011/02/26(土) 12:44:38.60ID:???
やってみなされ
0993NAME IS NULL2011/02/26(土) 13:15:53.23ID:???
できますね

SELECT T.* FROM (
SELECT DISTINCT tbl_name FROM SQLITE_MASTER
) AS T;

ただPRAGMAは動かないな
SELECTしかできない
0994NAME IS NULL2011/02/26(土) 18:20:19.20ID:???
SQLで改行コードの置換ってできないんですか?
0995NAME IS NULL2011/02/26(土) 18:32:28.19ID:???
SQL質疑応答スレ 10問目
http://hibari.2ch.net/test/read.cgi/db/1274791771/
0996NAME IS NULL2011/02/26(土) 19:06:26.93ID:???
>>995
SQLiteのSQLで改行コードの置換ってできないんですか?
0997NAME IS NULL2011/02/26(土) 20:44:56.98ID:???
やってみなされ
0998NAME IS NULL2011/02/26(土) 20:47:11.07ID:???
>>997
改行コードの書き方が分かりません
0999NAME IS NULL2011/02/27(日) 01:24:34.08ID:???
次スレ

SQLite 9
http://hibari.2ch.net/test/read.cgi/db/1298737360/l50
1000NAME IS NULL2011/02/27(日) 01:39:53.55ID:???
うめ
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。