組み込み型データベース SQLite について語るスレッドです。
SQLite
http://www.sqlite.org/
・C/C++ API
http://www.sqlite.org/c3ref/intro.html
・Syntax
http://www.sqlite.org/lang.html
・Limits
http://www.sqlite.org/limits.html
・Support
http://www.sqlite.org/support.html
SQLite Part.10
■ このスレッドは過去ログ倉庫に格納されています
2012/08/16(木) 21:54:16.20ID:???
781NAME IS NULL
2018/11/06(火) 06:32:29.17ID:??? バカには意味不明かもなww
782NAME IS NULL
2018/11/06(火) 08:40:09.98ID:???783NAME IS NULL
2018/11/06(火) 08:53:01.39ID:???784NAME IS NULL
2018/11/06(火) 08:57:46.02ID:???785NAME IS NULL
2018/11/06(火) 09:50:25.94ID:???786NAME IS NULL
2018/11/06(火) 12:27:40.80ID:???787NAME IS NULL
2018/11/08(木) 00:55:32.60ID:??? バカは他人をバカ呼ばわりする
788NAME IS NULL
2018/11/08(木) 07:17:44.92ID:??? > バカは他人をバカ呼ばわりする
上から目線の>>787が言うなよww
上から目線の>>787が言うなよww
789NAME IS NULL
2018/11/08(木) 08:19:49.30ID:??? >>788
上から目線?どこが
上から目線?どこが
790NAME IS NULL
2018/11/08(木) 08:39:31.22ID:??? 自分の無知がわかれば哲学者になれる
791NAME IS NULL
2018/11/08(木) 12:22:12.76ID:??? 自覚がないとか最悪
792NAME IS NULL
2018/12/02(日) 15:16:58.22ID:???793NAME IS NULL
2018/12/02(日) 16:12:37.68ID:??? sqliteもいつの間にかJSON型使えるようになってたんだな。
知らんかったよ・・。
知らんかったよ・・。
794NAME IS NULL
2019/02/16(土) 16:08:19.92ID:??? 皆さん冬眠中のとこわるいんだけど1点教えて
Pythonで
sql = 'select * from hoge'
cur.execute(sql)
for i in cur:
print(i)
と
sql = 'select * from hoge'
cur.execute(sql)
l = cur.fetchall()
for i in i:
print(i)
同じ結果になる。fetchall()て使わないとダメなの?
Pythonで
sql = 'select * from hoge'
cur.execute(sql)
for i in cur:
print(i)
と
sql = 'select * from hoge'
cur.execute(sql)
l = cur.fetchall()
for i in i:
print(i)
同じ結果になる。fetchall()て使わないとダメなの?
795NAME IS NULL
2019/02/16(土) 18:26:06.25ID:??? pythonスレで聞いたら?
796NAME IS NULL
2019/02/16(土) 20:55:52.69ID:???797NAME IS NULL
2019/02/16(土) 21:35:53.80ID:??? >>794
> for i in i:
は
for i in l:
だとして
> 同じ結果になる。fetchall()て使わないとダメなの?
別に使わなくていい、と言うかでかいデータをfetchall()するとメモリー上に展開するからやっちゃダメ
ただforとかfetchone()で回すとシリアルにしか処理できないから読み込んでpythonでランダムに処理したい時とかはfetchall()で一気に読み込んで処理するとかはあり得る
> for i in i:
は
for i in l:
だとして
> 同じ結果になる。fetchall()て使わないとダメなの?
別に使わなくていい、と言うかでかいデータをfetchall()するとメモリー上に展開するからやっちゃダメ
ただforとかfetchone()で回すとシリアルにしか処理できないから読み込んでpythonでランダムに処理したい時とかはfetchall()で一気に読み込んで処理するとかはあり得る
798794
2019/02/17(日) 13:19:11.23ID:??? ありがとう
fetchallがPythonライブラリなのは知らなんだわ
fetchallがPythonライブラリなのは知らなんだわ
799NAME IS NULL
2019/02/17(日) 20:29:48.70ID:??? >>798
をゐ!
をゐ!
800NAME IS NULL
2019/03/16(土) 23:09:31.62ID:??? すいません。パナのVIERAの録画用外付けHDDがTVで読めなくなったので救出中です。
ddからごにょごにょしてファイルを拾ってみると、txt、dbx、spliteとかのファイルがあって、どうやらデータ保存にこのSQLiteってのを使ってるみたいなんです。誰か同じようにデータ救出したことある人いませんか?
現状、拾ったファイルからプリセットと思われるDBが見えてるだけの状態です。
https://imgur.com/pg50Nq7
ddからごにょごにょしてファイルを拾ってみると、txt、dbx、spliteとかのファイルがあって、どうやらデータ保存にこのSQLiteってのを使ってるみたいなんです。誰か同じようにデータ救出したことある人いませんか?
現状、拾ったファイルからプリセットと思われるDBが見えてるだけの状態です。
https://imgur.com/pg50Nq7
801NAME IS NULL
2019/03/17(日) 07:15:15.64ID:???802NAME IS NULL
2019/03/18(月) 03:25:00.48ID:??? アクセスの特性を考えても動画そのものはSQLiteには入れないだろうね。
datnameという列が動画ファイルの名前なのかな。
datnameという列が動画ファイルの名前なのかな。
803NAME IS NULL
2019/04/17(水) 22:31:13.12ID:1RkN/oKB804NAME IS NULL
2019/07/12(金) 20:06:09.18ID:gIxje4Vh805NAME IS NULL
2019/07/28(日) 18:04:58.43ID:???806NAME IS NULL
2019/07/30(火) 09:23:06.50ID:??? マルチマスタ,標準機能で入れて欲しい。
807NAME IS NULL
2019/07/30(火) 13:58:57.32ID:??? マネージドサービスも欲しいよね
808NAME IS NULL
2019/08/12(月) 19:16:00.45ID:ZgSTLcpR アクセスみたいなフォーム・レポート機能も欲しいよね
809NAME IS NULL
2019/09/15(日) 18:36:11.82ID:??? なんかワンセットで使えるものないのかね
アメリカだとジャスパーレポートがあるのか
アメリカだとジャスパーレポートがあるのか
810NAME IS NULL
2019/10/04(金) 00:21:06.27ID:??? db browser for sqliteの問題なのかも知れないけど
maindb.tbl1とattachしたsubdb.tbl2をjoinした結果でcreate viewして、
それをselectしたら、no such db:"maindb.tbl2"ってエラーになったんだけど、他の人も再現しますか?
joinした結果だけなら普通にselectできて、中身も正しいんだけど
エラーメッセージからも、どうもattachしたsubdbがviewにすると上手く参照出来てないっぽい
maindb.tbl1とattachしたsubdb.tbl2をjoinした結果でcreate viewして、
それをselectしたら、no such db:"maindb.tbl2"ってエラーになったんだけど、他の人も再現しますか?
joinした結果だけなら普通にselectできて、中身も正しいんだけど
エラーメッセージからも、どうもattachしたsubdbがviewにすると上手く参照出来てないっぽい
811NAME IS NULL
2019/10/05(土) 09:46:44.63ID:aM6ozOX5812NAME IS NULL
2019/10/11(金) 23:52:38.14ID:sULVZecV813NAME IS NULL
2019/11/30(土) 12:46:47.63ID:??? sqliteって正規表現使えないんだな。
814NAME IS NULL
2020/02/29(土) 17:34:06.34ID:??? 日付型がネックだなこれ
excelからVBAで書き込もうとしたけど上手くいかない
excelからVBAで書き込もうとしたけど上手くいかない
815NAME IS NULL
2020/02/29(土) 19:26:41.37ID:???816NAME IS NULL
2020/02/29(土) 19:46:45.57ID:??? あったらあったでややこしいのが日付型。
タイムゾーンとか範囲とか精度とか表現とか。。。
タイムゾーンとか範囲とか精度とか表現とか。。。
817NAME IS NULL
2020/02/29(土) 21:10:39.44ID:??? 日付を数字八桁に変えてやるのがやっぱベターかね?
818NAME IS NULL
2020/02/29(土) 22:04:36.50ID:??? >>817
文字型にするかepochからの経過日数にするとか
文字型にするかepochからの経過日数にするとか
819NAME IS NULL
2020/02/29(土) 23:07:17.82ID:???820NAME IS NULL
2020/03/01(日) 07:23:04.95ID:???821NAME IS NULL
2020/03/01(日) 08:39:59.21ID:??? 8文字の文字列にするのはよくあるが8桁の数値にするのは見たことないわ
822NAME IS NULL
2020/03/01(日) 09:09:44.07ID:??? BCDの変形だけど、何ていうんだろう
Decimal Coded Clock notationで、DCC?
というか、time()とかdate()とかって関数なかったっけ?
Decimal Coded Clock notationで、DCC?
というか、time()とかdate()とかって関数なかったっけ?
823NAME IS NULL
2020/03/01(日) 09:22:40.88ID:???824NAME IS NULL
2020/03/01(日) 09:26:11.62ID:??? オマエらSQLiteのマニュアルをちゃんと見ろよ。
日付について詳しく書いてある。
オープンソースであんだけしっかりとマニュアルが有るのは無いぞ。
日付について詳しく書いてある。
オープンソースであんだけしっかりとマニュアルが有るのは無いぞ。
825NAME IS NULL
2020/03/01(日) 09:44:55.05ID:??? ドキュメントはPostgreSQLもしっかりしてるぞ
826NAME IS NULL
2020/03/01(日) 15:20:41.92ID:??? >>821
文字型だとexcelにインポートしたときソート出来ないので
文字型だとexcelにインポートしたときソート出来ないので
827NAME IS NULL
2020/03/01(日) 17:14:22.26ID:??? 普通にソートできるけど?
828NAME IS NULL
2020/03/01(日) 18:03:05.26ID:??? 別に>>826に文字列型にしろと言ってるわけじゃないから好きな方法でいいと思うよ
829NAME IS NULL
2020/04/04(土) 10:46:28.73ID:VEbZoUCg830NAME IS NULL
2020/04/04(土) 17:51:01.08ID:??? 何このSQL!?
これ標準SQLなの?
これ標準SQLなの?
831NAME IS NULL
2020/04/22(水) 07:31:11.44ID:??? 出来るようになったんだ。
postgresqlでは昔からあったこの書き方。
postgresqlでは昔からあったこの書き方。
832NAME IS NULL
2020/04/23(木) 22:18:26.65ID:??? Create temporary view で接続時限定のマスタを仕立てたりするのに使えるかな
833NAME IS NULL
2020/04/27(月) 15:10:44.26ID:??? 設定少な目でお手軽使用
便利だなあ
便利だなあ
834NAME IS NULL
2020/06/07(日) 22:36:38.26ID:???835NAME IS NULL
2020/06/14(日) 20:03:56.58ID:??? このDB使っててDBが壊れた経験ある人いる?
836NAME IS NULL
2020/06/14(日) 23:26:55.98ID:??? 自分はないです。
837NAME IS NULL
2020/06/21(日) 17:57:03.78ID:??? コマンドライン(sqlite3)でパスワード付きのファイルを使うときはどうやってパスワード指定するの?
838NAME IS NULL
2020/07/24(金) 19:27:11.79ID:??? 符号なし64bit整数はないのか…
839NAME IS NULL
2020/07/30(木) 12:15:20.47ID:??? C#版のsystem.data.sqlite.dllの暗号化機能は無くなったのでしょうか?
840NAME IS NULL
2020/09/24(木) 14:30:05.42ID:PKn4SiJe SQLiteのWALファイルが80GBを超えている(DBファイルは8GBほど)なのですが、
これってふつうなのでしょうか。
ググると、WALファイルの内容はコミットされたときに、DBファイルとマージされるという趣旨の記事を見かけたのですが、
WALファイルの内容をDBファイルに加えて、安全に削除できるようにするにはどうしたらいいのでしょうか。
よろしくお願いいたします
これってふつうなのでしょうか。
ググると、WALファイルの内容はコミットされたときに、DBファイルとマージされるという趣旨の記事を見かけたのですが、
WALファイルの内容をDBファイルに加えて、安全に削除できるようにするにはどうしたらいいのでしょうか。
よろしくお願いいたします
841NAME IS NULL
2020/09/24(木) 14:44:55.45ID:???842NAME IS NULL
2020/10/22(木) 02:03:20.97ID:??? sqliteのソースコードからビルドってどうやるのでしょうか?
dllファイルを作ろうと公式からamalgamationをダウンロードして、visual studioのc++のプロジェクトに中身全部追加してビルドしようとしても「プリコンパイル ヘッダーを検索中に不明な EOF が見つかりました。'#include "pch.h"' をソースに追加しましたか?」など色々エラーや警告が出ます
dllファイルを作ろうと公式からamalgamationをダウンロードして、visual studioのc++のプロジェクトに中身全部追加してビルドしようとしても「プリコンパイル ヘッダーを検索中に不明な EOF が見つかりました。'#include "pch.h"' をソースに追加しましたか?」など色々エラーや警告が出ます
843NAME IS NULL
2020/10/22(木) 02:11:58.91ID:???844NAME IS NULL
2020/10/22(木) 03:51:57.88ID:??? >>843
ようやく出来ましたわ
どこ見ても同じような指南していて、その通りにしているのに同じエラーが出続けて参ってました
構成とプラットフォームのコンボボックスにも適切な設定をしないと駄目なんですね
ありがとう
ようやく出来ましたわ
どこ見ても同じような指南していて、その通りにしているのに同じエラーが出続けて参ってました
構成とプラットフォームのコンボボックスにも適切な設定をしないと駄目なんですね
ありがとう
845NAME IS NULL
2021/08/16(月) 19:24:19.07ID:??? SQLiteって、プリペアドステートメントでマルチステートメントって使えないものなの?
凄く初歩的な質問で申し訳ないが、当方Web系ではないので全く相場が分かってない。
PHPからSQLiteを操作している。
元々既に動いているプロトタイプではリテラルで与えていたSQLを、
本格運用前にその他機能も付けてプリペアドに書き換えているのだが、
そうすると何故か動かないケースに何度も遭遇し、色々試ししたところ、
どうやら頭の一つしか動いていないっぽいことに気づいた。
それでググッたのだが、そのものは出てこない。
ただしプリペアドの使用例ではどこもシングルステートメントで書かれているし、
MySQL8.0の仕様書には「プリペアドはマルチステートメントには対応していません」と明示されており、
MySQLで対応出来てない機能がSQLiteにあるはずも無しか?とも思っている。
(というよりそもそもプリペアドがマルチステートメントに対応しているDBが無いのか?)
そこで上記の質問になる。
もう諦めてシングルステートメントに書き直しているが、一応確認したい。
凄く初歩的な質問で申し訳ないが、当方Web系ではないので全く相場が分かってない。
PHPからSQLiteを操作している。
元々既に動いているプロトタイプではリテラルで与えていたSQLを、
本格運用前にその他機能も付けてプリペアドに書き換えているのだが、
そうすると何故か動かないケースに何度も遭遇し、色々試ししたところ、
どうやら頭の一つしか動いていないっぽいことに気づいた。
それでググッたのだが、そのものは出てこない。
ただしプリペアドの使用例ではどこもシングルステートメントで書かれているし、
MySQL8.0の仕様書には「プリペアドはマルチステートメントには対応していません」と明示されており、
MySQLで対応出来てない機能がSQLiteにあるはずも無しか?とも思っている。
(というよりそもそもプリペアドがマルチステートメントに対応しているDBが無いのか?)
そこで上記の質問になる。
もう諦めてシングルステートメントに書き直しているが、一応確認したい。
846NAME IS NULL
2021/08/16(月) 21:43:30.84ID:??? もし「使える」とここで言われたところで、実際におまえのところで使えないのであれば、意味はまったくないで?
847NAME IS NULL
2021/08/16(月) 22:31:00.95ID:??? 別の人DBMS使ってるけどそれはマルチステートメントでパラメータ使えないな
使えるのってあるのかね
使えるのってあるのかね
848NAME IS NULL
2021/08/16(月) 23:01:47.24ID:??? >>847
やはりそうか。ありがとう。
>>846
今作っているのは他環境用(公開用)だから。
バージョン上げて済むならそうするし、動作条件にそう書くだけ。
プリペアドがシングルステートメント専用だと絶望的にコードが汚くなる。
これだと上位階層でラップしたくなるのも分かる。
そしてLaravel見たが、完全にORMに近い。まあそりゃそうだ。
(プリペアドが必要な場合は、)SQLなんてベタで書くものではないと痛感している。
ただなあ、ポインタを渡しているだけっぽいので、実装は難しくなさそうだし、やる気がないだけか?
確かにフレームワークで隠蔽するべきだし、その場合には最早どうでもいいのも確かだけど。
やはりそうか。ありがとう。
>>846
今作っているのは他環境用(公開用)だから。
バージョン上げて済むならそうするし、動作条件にそう書くだけ。
プリペアドがシングルステートメント専用だと絶望的にコードが汚くなる。
これだと上位階層でラップしたくなるのも分かる。
そしてLaravel見たが、完全にORMに近い。まあそりゃそうだ。
(プリペアドが必要な場合は、)SQLなんてベタで書くものではないと痛感している。
ただなあ、ポインタを渡しているだけっぽいので、実装は難しくなさそうだし、やる気がないだけか?
確かにフレームワークで隠蔽するべきだし、その場合には最早どうでもいいのも確かだけど。
849NAME IS NULL
2021/08/16(月) 23:21:52.23ID:??? 他のDBならストアド
SQLiteならユーザー定義関数
SQLiteならユーザー定義関数
850NAME IS NULL
2021/08/22(日) 11:38:56.96ID:+WxTgcLC https://kurashigoto.hokkaido.jp/flexibleSearch/search.php?offset=0&limit=20&search=%E3%83%98%E3%83%AB%E3%82%B9%E5%AC%A2%E3%83%BB%E5%A3%B2%E6%98%A5%E5%A9%A6%E3%81%AE%E9%87%91%E5%9F%8E%E8%8B%B1%E9%87%8C%E3%81%95%E3%82%93%EF%BC%881984%EF%BC%8F3%EF%BC%8F21%E7%94%9F%EF%BC%89%E3%81%AE%E8%87%AA%E6%92%AE%E3%82%8A%E3%83%8C%E3%83%BC%E3%83%89%E5%85%AC%E9%96%8B%E4%B8%ADavgle
https://magazine.jp.square-enix.com/top/comics/?search=q&x=0&y=0&sword=%E3%83%98%E3%83%AB%E3%82%B9%E5%AC%A2%E3%83%BB%E5%A3%B2%E6%98%A5%E5%A9%A6%E3%81%AE%E9%87%91%E5%9F%8E%E8%8B%B1%E9%87%8C%E3%81%95%E3%82%93%EF%BC%881984%EF%BC%8F3%EF%BC%8F21%E7%94%9F%EF%BC%89%E3%81%AE%E8%87%AA%E6%92%AE%E3%82%8A%E3%83%8C%E3%83%BC%E3%83%89%E5%85%AC%E9%96%8B%E4%B8%ADavgle
https://miyagi.doctor-search.tv/search/hospital?dis=3000&Keyword=%E3%83%98%E3%83%AB%E3%82%B9%E5%AC%A2%E3%83%BB%E5%A3%B2%E6%98%A5%E5%A9%A6%E3%81%AE%E9%87%91%E5%9F%8E%E8%8B%B1%E9%87%8C%E3%81%95%E3%82%93%EF%BC%881984%EF%BC%8F3%EF%BC%8F21%E7%94%9F%EF%BC%89%E3%81%AE%E8%87%AA%E6%92%AE%E3%82%8A%E3%83%8C%E3%83%BC%E3%83%89%E5%85%AC%E9%96%8B%E4%B8%ADavgle
https://mtke-job.jp/list/keyword=%E3%83%98%E3%83%AB%E3%82%B9%E5%AC%A2%E3%83%BB%E5%A3%B2%E6%98%A5%E5%A9%A6%E3%81%AE%E9%87%91%E5%9F%8E%E8%8B%B1%E9%87%8C%E3%81%95%E3%82%93%EF%BC%881984%EF%BC%8F3%EF%BC%8F21%E7%94%9F%EF%BC%89%E3%81%AE%E8%87%AA%E6%92%AE%E3%82%8A%E3%83%8C%E3%83%BC%E3%83%89%E5%85%AC%E9%96%8B%E4%B8%ADavgle
https://news.dwango.jp/search/?s=%E3%83%98%E3%83%AB%E3%82%B9%E5%AC%A2%E3%83%BB%E5%A3%B2%E6%98%A5%E5%A9%A6%E3%81%AE%E9%87%91%E5%9F%8E%E8%8B%B1%E9%87%8C%E3%81%95%E3%82%93%EF%BC%881984%EF%BC%8F3%EF%BC%8F21%E7%94%9F%EF%BC%89%E3%81%AE%E8%87%AA%E6%92%AE%E3%82%8A%E3%83%8C%E3%83%BC%E3%83%89%E5%85%AC%E9%96%8B%E4%B8%ADavgle
https://magazine.jp.square-enix.com/top/comics/?search=q&x=0&y=0&sword=%E3%83%98%E3%83%AB%E3%82%B9%E5%AC%A2%E3%83%BB%E5%A3%B2%E6%98%A5%E5%A9%A6%E3%81%AE%E9%87%91%E5%9F%8E%E8%8B%B1%E9%87%8C%E3%81%95%E3%82%93%EF%BC%881984%EF%BC%8F3%EF%BC%8F21%E7%94%9F%EF%BC%89%E3%81%AE%E8%87%AA%E6%92%AE%E3%82%8A%E3%83%8C%E3%83%BC%E3%83%89%E5%85%AC%E9%96%8B%E4%B8%ADavgle
https://miyagi.doctor-search.tv/search/hospital?dis=3000&Keyword=%E3%83%98%E3%83%AB%E3%82%B9%E5%AC%A2%E3%83%BB%E5%A3%B2%E6%98%A5%E5%A9%A6%E3%81%AE%E9%87%91%E5%9F%8E%E8%8B%B1%E9%87%8C%E3%81%95%E3%82%93%EF%BC%881984%EF%BC%8F3%EF%BC%8F21%E7%94%9F%EF%BC%89%E3%81%AE%E8%87%AA%E6%92%AE%E3%82%8A%E3%83%8C%E3%83%BC%E3%83%89%E5%85%AC%E9%96%8B%E4%B8%ADavgle
https://mtke-job.jp/list/keyword=%E3%83%98%E3%83%AB%E3%82%B9%E5%AC%A2%E3%83%BB%E5%A3%B2%E6%98%A5%E5%A9%A6%E3%81%AE%E9%87%91%E5%9F%8E%E8%8B%B1%E9%87%8C%E3%81%95%E3%82%93%EF%BC%881984%EF%BC%8F3%EF%BC%8F21%E7%94%9F%EF%BC%89%E3%81%AE%E8%87%AA%E6%92%AE%E3%82%8A%E3%83%8C%E3%83%BC%E3%83%89%E5%85%AC%E9%96%8B%E4%B8%ADavgle
https://news.dwango.jp/search/?s=%E3%83%98%E3%83%AB%E3%82%B9%E5%AC%A2%E3%83%BB%E5%A3%B2%E6%98%A5%E5%A9%A6%E3%81%AE%E9%87%91%E5%9F%8E%E8%8B%B1%E9%87%8C%E3%81%95%E3%82%93%EF%BC%881984%EF%BC%8F3%EF%BC%8F21%E7%94%9F%EF%BC%89%E3%81%AE%E8%87%AA%E6%92%AE%E3%82%8A%E3%83%8C%E3%83%BC%E3%83%89%E5%85%AC%E9%96%8B%E4%B8%ADavgle
851NAME IS NULL
2021/10/24(日) 14:06:43.68ID:O6kw9T0t windows版のSQLite3でFTS5を、トークナイザにtrigramを指定して使ってみたのですが
検索文字を2文字以下にするとヒット数が0件になります
スキーマは
CREATE VIRTUAL TABLE novel USING fts5(text, tokenize= 'trigram')
で、
SELECT * from novel WHERE text MATCH 'ジョー';
→結果391件
SELECT * from novel WHERE text MATCH 'ジョ';
→結果0件
という感じです
SQLite3のtrigramは3文字以上の語句しか検索できないのでしょうか?
検索文字を2文字以下にするとヒット数が0件になります
スキーマは
CREATE VIRTUAL TABLE novel USING fts5(text, tokenize= 'trigram')
で、
SELECT * from novel WHERE text MATCH 'ジョー';
→結果391件
SELECT * from novel WHERE text MATCH 'ジョ';
→結果0件
という感じです
SQLite3のtrigramは3文字以上の語句しか検索できないのでしょうか?
852NAME IS NULL
2021/10/24(日) 14:46:14.93ID:??? trigramってなんのことやと思ったん?
853NAME IS NULL
2021/10/24(日) 16:14:36.29ID:??? >>851
> Notes:
> Substrings consisting of fewer than 3 unicode characters do not match any rows when used with a full-text query.
> If a LIKE or GLOB pattern does not contain at least one sequence of non-wildcard unicode characters,
> FTS5 falls back to a linear scan of the entire table.
> https://www.sqlite.org/fts5.html#trigramidx
> Notes:
> Substrings consisting of fewer than 3 unicode characters do not match any rows when used with a full-text query.
> If a LIKE or GLOB pattern does not contain at least one sequence of non-wildcard unicode characters,
> FTS5 falls back to a linear scan of the entire table.
> https://www.sqlite.org/fts5.html#trigramidx
854NAME IS NULL
2021/10/24(日) 16:16:07.13ID:??? >>851
tri- …
tri- …
855NAME IS NULL
2021/10/24(日) 17:45:21.29ID:??? そらそうやろw
856NAME IS NULL
2021/10/24(日) 17:48:12.98ID:??? 不親切だとは思うけどね。
それ含めてテスト中なのだとも思うけど。
それ含めてテスト中なのだとも思うけど。
857NAME IS NULL
2021/10/24(日) 18:32:03.63ID:???858NAME IS NULL
2021/10/24(日) 19:28:58.24ID:??? >>857
Experimentalなんだから、仕様のテスト中だよ。
MATCH対象は文字列なのだから、プリペアドで与えられる事も普通にある。つまり、変数扱いだ。
なら、今の仕様だとプログラム側(上位)で「3文字以上かどうか」を判定してSQLを切り替えてやらないといけなくなる。
これだと使いにくいでしょ。
普通なら、
・2文字以下の場合は内部的にLIKEに切り替えてヒットするようにするか、
・2文字以下もヒットして欲しい場合はMATCHではなく別の予約語(NEARMATCH)とかを用意するか
だと思うけど。
Experimentalが何か知らないお前が一番頭悪いよ。なお853=856=俺な。
>>851に対して言える事は、
SQLiteは公式ドキュメントが素晴らしくよく出来てるので、引っかかったらまずは公式を読めって事だね。
はっきり言って大体公式だけで解決する。
Experimentalなんだから、仕様のテスト中だよ。
MATCH対象は文字列なのだから、プリペアドで与えられる事も普通にある。つまり、変数扱いだ。
なら、今の仕様だとプログラム側(上位)で「3文字以上かどうか」を判定してSQLを切り替えてやらないといけなくなる。
これだと使いにくいでしょ。
普通なら、
・2文字以下の場合は内部的にLIKEに切り替えてヒットするようにするか、
・2文字以下もヒットして欲しい場合はMATCHではなく別の予約語(NEARMATCH)とかを用意するか
だと思うけど。
Experimentalが何か知らないお前が一番頭悪いよ。なお853=856=俺な。
>>851に対して言える事は、
SQLiteは公式ドキュメントが素晴らしくよく出来てるので、引っかかったらまずは公式を読めって事だね。
はっきり言って大体公式だけで解決する。
859NAME IS NULL
2021/10/24(日) 21:37:28.36ID:??? >>858
> ・2文字以下の場合は内部的にLIKEに切り替えてヒットするようにするか、
> ・2文字以下もヒットして欲しい場合はMATCHではなく別の予約語(NEARMATCH)とかを用意するか
こんな提案、なおさらバカに見えるわ。w
> ・2文字以下の場合は内部的にLIKEに切り替えてヒットするようにするか、
> ・2文字以下もヒットして欲しい場合はMATCHではなく別の予約語(NEARMATCH)とかを用意するか
こんな提案、なおさらバカに見えるわ。w
860NAME IS NULL
2021/10/24(日) 21:57:35.95ID:??? >>859
だとするとお前が「仕様はどうあるべきか」考えるレベルに至ってないだけの話だよ。
変数で与えたらいちいち文字数なんて気にしてないのだから、今の仕様だと、
・プログラミング側で3文字以上であることをいちいち確認するか --- (A)
・さらに上位の仕様で3文字以上である事を保証する(例えばパスワードで8文字以上とかのあれ)か、 --- (B)
・SQLite側で何らかの対応をする --- (C)
のどれかが必要で、Aだと各ライブラリ/フレームワーク/ORM内に「3文字以上チェック」のコードが必要になるだろ。
CならそれがSQLite内の1箇所で済む。
だったら、全世界で重複コードが出来るだけ少なくなるように最適化する場合は、自ずとCになる、ってだけ。
それが分からないお前は、無駄にコード重複しまくってる馬鹿だと断定出来る。
本来そのコードがどこに置かれるべきか考える癖を付けたほうがいい。
で、それ含めてExperimentalで、つまり、
・3文字以下は無視の今の仕様でいいか、
・何らかの対策を盛り込むべきか
というわけだよ。実際に使ってフィードバックしろって事。
限界ギリギリまで高速にする場合は今の「無視」の仕様がよくて、現実的にほぼ2文字以下の検索なんて必要ないのならそれもあり、
いやいちいちラッパを用意するのがウザイ、なら仕様変更で2文字以下も自然にヒットするようになる、というだけ。
だからこそ Note になってるわけで。
だとするとお前が「仕様はどうあるべきか」考えるレベルに至ってないだけの話だよ。
変数で与えたらいちいち文字数なんて気にしてないのだから、今の仕様だと、
・プログラミング側で3文字以上であることをいちいち確認するか --- (A)
・さらに上位の仕様で3文字以上である事を保証する(例えばパスワードで8文字以上とかのあれ)か、 --- (B)
・SQLite側で何らかの対応をする --- (C)
のどれかが必要で、Aだと各ライブラリ/フレームワーク/ORM内に「3文字以上チェック」のコードが必要になるだろ。
CならそれがSQLite内の1箇所で済む。
だったら、全世界で重複コードが出来るだけ少なくなるように最適化する場合は、自ずとCになる、ってだけ。
それが分からないお前は、無駄にコード重複しまくってる馬鹿だと断定出来る。
本来そのコードがどこに置かれるべきか考える癖を付けたほうがいい。
で、それ含めてExperimentalで、つまり、
・3文字以下は無視の今の仕様でいいか、
・何らかの対策を盛り込むべきか
というわけだよ。実際に使ってフィードバックしろって事。
限界ギリギリまで高速にする場合は今の「無視」の仕様がよくて、現実的にほぼ2文字以下の検索なんて必要ないのならそれもあり、
いやいちいちラッパを用意するのがウザイ、なら仕様変更で2文字以下も自然にヒットするようになる、というだけ。
だからこそ Note になってるわけで。
861NAME IS NULL
2021/10/24(日) 22:37:19.63ID:???862NAME IS NULL
2021/10/24(日) 22:52:30.16ID:??? >>861
劇遅ではない。
クエリプランナ(つまりインタプリタ)でif文1個分だよ。しかもSQLiteだとC言語だ。
上位で対応するよりは段違いに速いよ。
まあどのみち君には仕様を考える頭はないし、君に決定権があるわけでもないからいいけどね。
劇遅ではない。
クエリプランナ(つまりインタプリタ)でif文1個分だよ。しかもSQLiteだとC言語だ。
上位で対応するよりは段違いに速いよ。
まあどのみち君には仕様を考える頭はないし、君に決定権があるわけでもないからいいけどね。
863NAME IS NULL
2021/10/24(日) 23:44:58.31ID:??? 長文はn-gram知らんかったんだけやんww
なんかこっちが恥ずかしくなるわ
なんかこっちが恥ずかしくなるわ
864NAME IS NULL
2021/10/25(月) 02:15:23.61ID:???865NAME IS NULL
2021/10/25(月) 09:50:27.32ID:???866NAME IS NULL
2021/11/15(月) 16:23:31.83ID:??? sqliteベースでFilemaker Proみたいに簡単にDBアプリ作れるソフトはないかのう...。
できればLinuxで....。あったら御教授くだされ。
とりあえず、PythonとPyQtでフロントエンド作り始めたんだけど、挫折しそう....
できればLinuxで....。あったら御教授くだされ。
とりあえず、PythonとPyQtでフロントエンド作り始めたんだけど、挫折しそう....
867NAME IS NULL
2021/11/15(月) 23:12:54.07ID:??? SQLite関係ないじゃん
868NAME IS NULL
2021/11/16(火) 00:05:32.11ID:??? webになるけどDjangoでどうよ
869NAME IS NULL
2021/11/24(水) 11:33:30.30ID:???870NAME IS NULL
2021/11/25(木) 14:46:07.36ID:??? Streamlitにしとけ
凄い楽にWebUI作れる
凄い楽にWebUI作れる
871NAME IS NULL
2021/12/08(水) 21:22:54.34ID:GVKAgvqd お前ら和歌山県出身の下村拓郎様(35歳独身、元自衛隊)をご存知か、この方は将来素晴しい人物になるから覚えておいて損はないぞ
872NAME IS NULL
2021/12/16(木) 17:34:57.34ID:??? >>866
LibreOffice Base
LibreOffice Base
873NAME IS NULL
2021/12/18(土) 18:46:18.71ID:dxWonGct いまさらこんなの使う理由がない。
874NAME IS NULL
2022/01/07(金) 15:12:25.30ID:U9oQR6GR 皆様ありがとう。866です。
おかげさまで住所録と顧客名簿をFileMakerからPySqlite3 & PyQtに移行できました。
どちらも15フィールド100レコードぐらい...年賀状づくりに間に合って良かったです。
おかげさまで住所録と顧客名簿をFileMakerからPySqlite3 & PyQtに移行できました。
どちらも15フィールド100レコードぐらい...年賀状づくりに間に合って良かったです。
875NAME IS NULL
2022/01/08(土) 20:27:21.00ID:??? デスマ明けか
876NAME IS NULL
2022/01/10(月) 09:50:25.42ID:??? >>874
PyQTなんか良く使うなw
PyQTなんか良く使うなw
877NAME IS NULL
2022/01/10(月) 16:02:33.92ID:??? >>876
慣れっすよ、慣れ。
だいぶ前にtkinterとWxとPyQtならべてデザイナの良さでPyQtになってしまいました。
結局pycsv(データ以降用)+PyQt(GUI)+pysqlite3(DB)+reportlab(印刷)という
構成で実装できました。とても他人に見せられる代物じゃございやせんが...
慣れっすよ、慣れ。
だいぶ前にtkinterとWxとPyQtならべてデザイナの良さでPyQtになってしまいました。
結局pycsv(データ以降用)+PyQt(GUI)+pysqlite3(DB)+reportlab(印刷)という
構成で実装できました。とても他人に見せられる代物じゃございやせんが...
878NAME IS NULL
2022/02/26(土) 12:28:50.84ID:LKcnRMUU ちょっと変わった質問なんですが
iPhone8+からiPhone13proに乗り換え、起動時の移行マネージャでほぼ中身が同じになったと思っています
iPhone13において、iPhone8+で削除したデータを復元させることは可能でしょうか?
移行がSQLiteそのまま移植しているのか、画像データのみ送っているのかにもよると思いますが...
このあたり知見ある方いましたら有難いです
iPhone8+からiPhone13proに乗り換え、起動時の移行マネージャでほぼ中身が同じになったと思っています
iPhone13において、iPhone8+で削除したデータを復元させることは可能でしょうか?
移行がSQLiteそのまま移植しているのか、画像データのみ送っているのかにもよると思いますが...
このあたり知見ある方いましたら有難いです
879NAME IS NULL
2022/05/14(土) 16:34:23.53ID:??? sqliteってasyncでrelationshipって効かなくないすか?
asyncにすると関係性なくなるけど
なぜかasyncにしなければrelationshipが効きます
asyncにすると関係性なくなるけど
なぜかasyncにしなければrelationshipが効きます
880879
2022/05/14(土) 16:51:33.27 改めて.db消してやったらすんなりできた・・
お騒がせしました
お騒がせしました
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 石破首相、「就職氷河期世代」で今も不安定な仕事に就いている人に農業、建設業、物流業へ就労拡大指示 [お断り★]
- 【誰のルールにも従わない】トランプ氏、服装規定従わず=教皇葬儀に青いスーツ姿 [ぐれ★]
- 万博来場の7割強が50歳以上 推計 [少考さん★]
- 永野芽郁&田中圭の“不倫疑惑”報道を、軒並みワイドショーがスルーする“本当のワケ” [Ailuropoda melanoleuca★]
- 【福岡】運転免許試験場で寝ていた19歳男が起こされ激高→70歳元警察官の男性指導員に暴行 その場で取り押さえられ現行犯逮捕 飯塚 [ぐれ★]
- かつて“お嫁さん候補”だった低収入女性が「結婚しにくくなっている」厳しい現実。専業主婦を望む男性の“少なすぎる割合”は [首都圏の虎★]
- 世界中の万博ファン、大阪万博に対する評価が定まる。おもてなしの国が史上最低の万博を開催した… [776365898]
- ▶白上フブキちゃんの身体の部位で一番ぺろぺろしたいところは?
- アベ・マリア、3000円盗んで逮捕 [389326466]
- 【朗報】"氷河期支援" 日本の国策に! 石破首相「農業、建設、物流へ就労を」 三原じゅん子担当大臣「充実させていきたい」 [452836546]
- あ、こいつ仕事できないなって奴の特徴 [156956134]
- 【石破悲報】サイゼリヤ「客がスマホで注文しろ」👈超賛否両論になるwww [237216734]