システム屋日誌

情報システム構築、開発手法を中心に気が付いたことを書き留めます。ちいさなことから、おおきなことまで。もちろん、どうでもいいことも。。。
<< December 2018 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 >>
 
RECENT COMMENT
RECENT TRACKBACK
れいねっとHP
http://www.rey-net.com
MOBILE
qrcode
PROFILE
無料ブログ作成サービス JUGEM
 
データベースの既存データをチェックしてから追加する方法
Webアプリケーションからデータベースに新しくデータを追加するとき、
次のような手順をプログラミングします。

1、新しいデータがすでに登録されている(重複あり)かどうかチェック
2、既存データが無ければ、INSERT
3、既存データが在れば、UPDATE
4、INSERT / UPDATE が正常に完了したかどうかチェックする

このロジックは、ものすごーくよく使います。

私は、PHP + MySQL でWebシステムを構築することが多いのですが、
PHP の MySQL 関数は、上記のピッタリの機能がありません。
これは、自分でクラスを使うべきなのか、PEAR 等のライブラリを利用するか。検討してみました。

安定したアリモノを使うのが一番と考え、
既存のDBライブラリやクラスを探してみました。
PHP標準ライブラリ(拡張)と、PHP のライブラリを集約した Pearのデータベース関連。

PHP標準ライブラリ
dbx 関数-->ない
http://au3.php.net/manual/ja/ref.dbx.php

PearのDBクラス-->ない
http://pear.php.net/manual/ja/package.database.db.php

PEAR::DB_DataObject-->ない
http://pear.php.net/manual/ja/package.database.db-dataobject.php


上記1〜4を一発で実行してくれる機能は無いですね。
汎用的に使えないからライブラリ化していないのね・・・
やはり、自分でクラスまたは関数化するのがよさそう。

突然、話が変わりますが。

Pear は以前良く使っていました。
Pear は、他のDBに乗り換えるとき、アプリケーションを書き換えないで移行できるので便利なのですが。
最近は MySQL が多いので、使わなくなってしましました。
dbx 関数も、Pear のようにDBを意識しないでアプリケーションを開発するためのライブラリです。
ただし、PHP 標準とはいえ拡張モジュールなので、インストールが必要です。

コメント
コメントする









 
トラックバック
この記事のトラックバックURL
http://technology.rey-net.com/trackback/476840