揮発性のメモ2

http://d.hatena.ne.jp/iww/

sqlite

autoincrementを指定する

SQLite Frequently Asked Questions create table t1( a int primary key AUTOINCREMENT, b int ); 次の書き方はNG create table t3( a int AUTOINCREMENT, b int, primary key(a) ); create table t3( a int, b int, primary key AUTOINCREMENT(a) );

gnucashのファイル形式をXML形式からSQLite形式に切り替える

ここを参考に変更GnuCash2.4以降 「名前を付けて保存」で現在の会計データを保存する。 データ形式にsqlite3を選択し、今と同じファイル名で別ディレクトリに保存 GnuCashを終了する 既存の会計データに上書きコピーする GnuCashを起動する ちゃんと読めれば…

ローカル時刻

sqlite> SELECT DATETIME('NOW'), DATETIME('NOW','LOCALTIME'); 2012-03-27 02:51:58|2012-03-27 11:51:58

sqlite3_open()

sqlite3_open() sqlite3_open()は指定されたデータベースファイルが本当にデータベースなのかどうか全く見ない(適当なテキストファイルを指定してもオープンに成功する) ファイルが無いときは勝手に空のファイルを作ってしまう(ファイルがアクセスできな…

sqlite3_execでCSVファイルを読めない

COPY文はSQLITE3以降廃止されているし、.importは使えない。 SQLITE3のCのAPIからはCSVファイルを取り込む方法が無い。面倒くさいことこの上ない。

DROP TABLE IF EXISTS hoge;

http://www.3rd-impact.net/Document/SQLite/Translation/Current/lang_droptable.html 〜 TABLE IF EXISTS 〜 は使えるバージョンと使えないバージョンがあるっぽい。 使えないバージョン 3.2.1-1 (sargeとか) $ sqlite3 hoge.db SQLite version 3.2.1 Ente…

sqlite3のエラー処理

http://www.3rd-impact.net/Document/SQLite/Translation/Current/capi3ref.html#sqlite3_finalize すべての構築済みステートメントは、sqlite3_close() を呼ぶ前に、あるいは SQLITE_BUSY の戻り値で失敗して閉じる時に削除しなくてはいけません。 ステート…

sqliteでreadonlyでオープン

Re: [sqlite] sqlite3_open_v2 and SQLITE_OPEN_READONLY sqlite3_open_v2() and SQLITE_OPEN_READONLY and a whole bunch of other stuff is all new to 3.5.0. Version 3.5.0 is stable. $ sqlite3 -version 3.2.1あー、