amazonあたりで評価の高そうな本をいくつか見てみたいと思います。 ありがとうございました。 0017NAME IS NULL2012/08/19(日) 12:50:44.77ID:??? 外部結合しているテーブルの行をを一度に消す方法はないのでしょうか? delete TBL_A from TBL_A left join TBL_B on TBL_A.keyid = TBL_B.id where TBL_B.keyid = 4; や delete from TBL_A from TBL_A left join TBL_B on TBL_A.keyid = TBL_B.id where TBL_B.keyid = 4; など紹介されているものを色々試してみたのですが、どうしてもsyntaxerrorがdelete直後の単語ででてしまいます。 テーブルごとに削除するしかないのでしょうか…? 0018NAME IS NULL2012/08/19(日) 12:58:41.83ID:??? DELETEはFROM一つしか書けないよ。JOINも当然書けない。 メインのテーブルのレコードを削除したとき必ず従属テーブルのレコードを削除するならトリガーに書きなよ。 0019NAME IS NULL2012/08/19(日) 13:10:56.17ID:???>>18 回答ありがとうございました。 トリガー使ったことないのですが、挑戦してみます。 0020NAME IS NULL2012/09/01(土) 21:03:38.85ID:??? ばか 0021NAME IS NULL2012/09/02(日) 10:39:44.98ID:??? そんな事言うんじゃないよ 0022NAME IS NULL2012/09/04(火) 15:49:22.12ID:F14l33sJ sqliteのファイルを読み込む際に、そのファイルがsqliteのファイルであるかどうかを確認することはできますか? sqlite以外のファイルを読み込んだ際に当たり前ですがエラーが出るのでそれに対処したいと思っています。 読み込むsqliteのファイル名に規則性がないので振り分けができないので、ファイルがsqliteファイルであるかどうか確認する方法があれば教えてもらえると助かります。 0023NAME IS NULL2012/09/04(火) 18:33:24.81ID:??? 3.7.14 0024NAME IS NULL2012/09/04(火) 18:48:09.39ID:???>>22 自分で結論にたどり着いてるみたいだけど…。
>sqliteファイルであるかどうか確認する方法 >sqlite以外のファイルを読み込んだ際に当たり前ですがエラーが出る 0025NAME IS NULL2012/09/04(火) 19:16:39.20ID:???>>24 ワロタ 確かに、エラーが出てるとわかってるならそれでいいじゃんとなるけどねw
事前に判断することができるか?という希望に答えるとすると、 C言語的にはファイルを開いて先頭16バイトバイナリ読込して、 "SQLite format 3\x00"とmemcmpして見れば一応わかる。 ただし、こんなものは偽装はできるし、このヘッダ部は正常でも、sqlite的に演算したら ファイルが破損していた場合は結局エラーになるので価値は・・・疑問かな。 sqlite3_openv2がエラーを返すならそれで判断するのが良いよ。
このやり方がスマートかどうかはわかんないけど、おれは引越しするときはいつもこんな感じでしてる。 0051NAME IS NULL2012/10/04(木) 11:55:58.87ID:???>>47 いったい誰と戦っているんだよ?空気脳さん. 0052NAME IS NULL2012/10/07(日) 06:57:54.73ID:??? 3.7.14.1 0053NAME IS NULL2012/10/09(火) 09:14:57.50ID:??? PHP上からSQLiteファイル内のデータを全部引っこ抜くようなのって無いんだっけ? 全レコードを>>50みたいな感じでおいらも引っこ抜いてるんだけど。 0054NAME IS NULL2012/10/14(日) 21:06:47.63ID:??? keyとvalueしかない構造だから悩まない 0055NAME IS NULL2012/10/14(日) 21:10:10.22ID:??? 突然どうした? 0056NAME IS NULL2012/10/15(月) 10:31:13.09ID:??? 追加とか変更とかは適当にコマンド流すけど 何か変更することあればFirefoxのSQLiteManagerってやつでいじってる
それ以上のことやろうと思うならそもそもSQLiteとか使わずMySQLとか使ってるしな 0057NAME IS NULL2012/10/23(火) 19:10:42.58ID:??? だからどうした? 0058NAME IS NULL2012/10/25(木) 17:03:37.52ID:??? 以下の様なデータが格納されているデータベースで
1 1 1 2 2 3 3 3 4
とあるデータで各値が何回出てくるかカウントするってことは出来ますか?
1=3回 2=2回 3=3回 4=1回
みたいな検索結果を得たいと思ってます。 0059NAME IS NULL2012/10/25(木) 18:29:44.22ID:??? table名 theTable カラム名 a int
a -- 1 1 1 2 2 3 3 3 4 --
select a, count(*) as cnt from theTable group by a order by a 0060NAME IS NULL2012/10/25(木) 19:00:24.67ID:???>>59 解凍ありがとうございます。 こういう組み合わせ知らなかったので凄い勉強になりました。 0061NAME IS NULL2012/10/25(木) 20:50:40.94ID:??? まさかこんなレベルでプログラマじゃないよなw 0062NAME IS NULL2012/10/25(木) 20:55:25.95ID:???>>58-61 スレ違い。
どっちにしても通常運用で支障が出ることはないくらい沢山作れそうだけど、 嘘をいっぱい書いてるかもしれないので詳しい人いたら解説お願いします。 0100あぼーんNGNGあぼーん0101NAME IS NULL2013/01/07(月) 09:17:58.44ID:6FlDIcs/ 10万個もテーブル作れるならもう1データ1テーブルとかでもいいかと思ってしまうわ。 実際にはやんないけどSQLiteで扱う程度のデータならそこまで大規模になるなら別のDB使うだろうし。
それにしても暗号化ないのがちょっと不安になるわ。 案件にもよるんだろうけどみんな暗号化とかそういうの気にせず使ってるの? 0102NAME IS NULL2013/01/07(月) 16:13:46.18ID:??? 他で暗号化してから格納したら? 0103NAME IS NULL2013/01/07(月) 16:58:50.08ID:??? 案件によるって書いてあるじゃんw 0104NAME IS NULL2013/01/07(月) 18:30:21.13ID:??? 気にせずと言うか、SQLiteを使う案件で、かつ暗号化が必要というのに今のところ出くわしたことが無い。 もしそういうのが来たら自前で暗号化して積むか、本家の暗号化オプション買うかの2択かなあ。 0105NAME IS NULL2013/01/07(月) 22:41:13.14ID:??? 自前で暗号化とかすると検索が面倒になる気がしないでもないけどSQLiteは文字通りLiteなんだからしょうがないか 0106NAME IS NULL2013/01/07(月) 23:02:36.88ID:??? と言うか先にデータを暗号化してからinsertするじゃ意味無いよね? >>104はSEEを買うか、代わりにvfsで暗号化レイヤーを実装するか、って話だと思ってた… 0107NAME IS NULL2013/01/08(火) 02:24:15.71ID:???>>105 隠したい項目(暗号)をWHERE条件で検索できたら そもそも駄目じゃない? 0108あぼーんNGNGあぼーん0109NAME IS NULL2013/01/09(水) 10:37:48.50ID:PQochI3F 質問です。
全角半角大文字小文字の英数字が入り交じった項目があって、これらを全て同一視して検索する手段はありますでしょうか。 また、ひらがな、カタカナについても、おなじく同一視して検索する手段はありますでしょうか。 0110NAME IS NULL2013/01/09(水) 18:22:22.81ID:??? 質問の意味が分からない 同一視って何? 0111NAME IS NULL2013/01/09(水) 19:22:29.52ID:??? A=A=a=aとして扱いたいんでしょう。 0112NAME IS NULL2013/01/09(水) 21:05:14.98ID:??? select文を全角で入れたいのかもしれん。 0113NAME IS NULL2013/01/09(水) 21:13:02.83ID:??? 検索対象の文字列がカラム A に入っているとする。
まずカラム A の文字列の英小文字を英大文字に変換する。 上記で変換したデータの中の、半角英数記号カタカナを全角に変換する。 上記で変換したデータのカタカナを平仮名に変換する。 ここまで変換したら、検索専用カラム AA に格納しておく。
※必要であれば、ギリシア文字やロシア文字の小文字大文字変換も。
検索にあたっては、キーワードを上記ルールで変換してから、カラム AA に対して where 条件を使う。