
こんにちは。
PHP5とMySQL5を使っています。
CSVファイルを読み込み、キーが存在するレコードは更新、
存在しなければ追加、という処理について
色々な書き方を教えて頂けたらと思います。
例えば、フィールドは、ユニークキーとなる[ID]、
[Name]、[TEL]の3つとします。
1.CSV読む
2.行と列の2次元配列に格納
3.行数分ループ開始
3-1.IDをキーに、SELECT
3-2.存在したら
3-3.UPDATE更新
3-2.存在しなかったら
3-3.INSERT追加
4.行数分ループ終了
と考えています。
CSVに100行あったら、100回SELECT掛けることになりますが、
この書き方で問題ないでしょうか?
もっと判り易い、こんな書き方も!
というのがありましたら、是非頂けますでしょうか。
よろしくお願いします。

No.2ベストアンサー
- 回答日時:
いくつか方法が考えられますが、MySQLの場合、一番簡単なのはREPLACE構文を使う方法だと思います。
http://dev.mysql.com/doc/refman/4.1/ja/replace.h …
他にも、SELECTをしないで済む方法はあります。例えば、とりあえず無条件にINSERTしてみて重複エラーだったらUPDATEするとか、逆に無条件にUPDATEしてみてaffected_rows(UPDATEされた行数)が0だったらINSERTするとか。
ありがとうございます!
>例えば、とりあえず無条件にINSERTしてみて
>重複エラーだったらUPDATEするとか、
>逆に無条件にUPDATEしてみてaffected_rows(UPDATEされた行数)が
>0だったらINSERTするとか。
これいいですね!!
これにしよ!!!
勉強になりました!最高です!!!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) access,vbaでフォルダ内のファイルをテーブルにインポート、ファイル名もフィールドに追加したい 1 2022/08/31 11:11
- Ruby pandasでsqlite3にテーブル作成・追加・読み出しでindexの取り扱い方教えてください 5 2023/03/08 09:57
- Visual Basic(VBA) vbaマクロについて 【1.csv】をもとに【商品.csv】に有るものを【有り.csv】として名前を 1 2023/05/18 07:58
- Visual Basic(VBA) vbaマクロについて 次のようなマクロを組みたいです。 自分は初心者なので全くわかりません。 詳しく 8 2023/05/18 18:38
- Excel(エクセル) PowerQueryに詳しい方教えてください(Office365) 1 2022/07/24 21:11
- Excel(エクセル) 【困っています】VBA 追加処理の記述を教えてください。 1 2022/08/25 22:54
- Visual Basic(VBA) 【前回の続き続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/24 20:49
- Excel(エクセル) Excelマクロ 差分抽出の方法が知りたいです。 2 2023/03/07 13:25
- Visual Basic(VBA) ExcelからAccessのテーブルに書き込む時に時間がかかる 1 2022/10/14 20:38
- Access(アクセス) CSVファイルの「0落ち」にVBA 6 2023/02/02 15:27
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
MySQLでの売上集計
-
MySQLの日付データについて
-
RFC822形式での日時の取得
-
すいません、質問をさせて下さい。
-
PHP+MySQLで、日時を比較して抽...
-
開始日と期間で終了日を求める...
-
データベース(MySQL)にNULLと...
-
where文について
-
PHPでmySQLのデータベースを操...
-
3つのテーブルから情報一覧を...
-
SELECT文の加工(日付/時刻型)
-
phpPgAdminでテーブルが作成で...
-
php+mysqlでポータルサイトを作...
-
php mysql で1レコードをランダ...
-
phpMyAdmin: 256件目以降のデー...
-
在庫数の取得
-
重複レコードの表示について
-
mysql+php 日付別料金データで...
-
phpMyadminが重くてデータが削...
-
PHP5+MySQL5 CSVから、更新、追...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
MySQLでデータベースにデータin...
-
csvをDBへ読み込んだら、NULLが...
-
ヒアドキュメントでSQLを書く事...
-
access → Oracleへのデータ移...
-
PHPでいいね機能を作りたいので...
-
OracleからAccessへのインポート
-
変数にNULLを代入したい
-
DB Error: no such field
-
カラムにデータがあるかないか...
-
MDB2エラーが対応出来ません。
-
phpでテーブルを作る際変数によ...
-
phpにて出欠登録管理を作成して...
-
Accessへ日付をINSERT
-
mysql+php 日付別料金データで...
-
データをDBからひっぱってき...
-
MySQLのテーブル選択について
-
クエリObjectをforeachで回す時...
-
php sqlite count 列数取得
-
会員番号等に利用するダブらな...
-
エクセルをMysqlに格納
おすすめ情報