DB

sqlite関数とPDO SQLite

なんかsqlite関数とPDOのSQLiteドライバはSQLiteのバージョン違うのね。 sqlite関数はSQLite2でPDOはSQLite2とSQLite3が使える。 同じ環境で動かしてるのになんでファイルフォーマットがおかしいとか言われるのかと思ったよ。 そしてCakePHPのSQLite DBOはSQ…

PostgreSQLで文字型カラムから数値型カラムへ変更する

DB

今までVARCHARで持っていたデータを、数値しか入れないってことでINTEGER型に変えることになったんだけど、ALTER TABLEがうまくいかなくてプチハマリ。 ALTER TABLE foo ALTER COLUMN bar TYPE INTEGER; 何の考えも無しにやってみたら案の定エラーになった。…

PostgreSQLで日本語のソートがおかしい場合の対処法

DB

PostgreSQLで日本語が格納されているカラムをORDER BYでソートさせたら明らかにおかしい順序で返ってきた。 test=# select name from test_table order by name asc; name - 試験 てすと テスト てすとです 試験データ テストデータ test (7 rows) こんな感…

MySQLはUPDATEにORDER BYやLIMITが使える

DB

MySQL5.1しか確認して無いですが、 UPDATE文にもLIMIT句があるんすね http://kjirou.sakura.ne.jp/mt/2008/05/mysql_update.html これは知らなかった。 データを直接いじっているときなどにとりあえずLIMIT 1なんてつけておくと、うっかり全件更新してしまう…

PostgreSQLで複合型のカラムを使ってみる

DB

前回の配列型に続き、今度は複合型を使ってみる。 この複合型というのは複数のフィールドの組を一つのデータ型として扱える、ちょうどC言語の構造体のような機能となる。 前回の記事:PostgreSQLで配列型のカラムを使ってみる - ぱせらんメモ 何はともあれデ…

PostgreSQLで配列型のカラムを使ってみる

DB

PostgreSQLではカラムのデータ型に配列を使うことが出来る。いちおうSQL99準拠なのかな。 何はともあれテーブルを作成する SQLはこんな感じ。 CREATE TABLE favorites ( username varchar(20), -- ユーザ名 category varchar(20), -- カテゴリ名 items varch…

論理削除と個人情報保護

DB

消費者向けのWebサイトの構築をしていると必ずといっていいほど会員管理機能が含まれているわけだが、この会員情報の取り扱いがなかなか厄介だなぁと思う今日この頃。 単純なケースでは次のような形の会員テーブルを作ることが多いと思われるが、この中の削…