実現したいこと
・全顧客情報(数千件)が入ったcsvファイルをアップロード
・すでに登録されている顧客であれば電話番号を更新
・未登録の顧客であれば新規レコードを追加
テーブル構造
mysql 5.7.28
テーブル名
customers
カラム情報
・customer_id(一意、10桁の英数字、連番では無い)
・phone(電話番号)
・パスワードなど、顧客情報が10カラム程度
現状
csvファイルからデータを取り出すところまでは完成している
1行ずつデータを取り出し、SQL文を実行したいと考えています。
お聞きしたいこと
以下を実現するSQL文がわかる方がいらっしゃいましたら、アドバイスをいただきたく存じます。
- csvファイルから取り出した配列に格納されている「customer_id」と一致するデータがあれば、電話番号を更新(UPDATE)する
- csvファイルから取り出した配列に格納されている「customer_id」と一致するデータが無ければ、新規レコードを作成(INSERT)する
上記2つの処理を1つのSQL文にまとめられるのが理想ですが、最悪2つに別れても良いと考えています。
他に必要な情報等ございましたらご指摘いただければと思います。
どうぞよろしくお願いいたします。
回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/04/30 05:33
2020/04/30 05:35
退会済みユーザー
2020/04/30 05:36
2020/04/30 05:38
退会済みユーザー
2020/04/30 05:46
2020/04/30 05:54
2020/04/30 06:21
退会済みユーザー
2020/04/30 06:25
2020/04/30 06:47
2020/04/30 06:49
退会済みユーザー
2020/04/30 07:08
2020/04/30 07:09