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がエラーを返すならそれで判断するのが良いよ。