質問 > フロント機能 > ポイントの有効期限 |
フロント機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
dsh |
投稿日時: 2015/12/14 13:04
対応状況: −−−
|
常連 登録日: 2014/8/8 居住地: 投稿: 39 |
ポイントの有効期限 ポイントに有効期限をつけたくて調べておりました。
http://eccubememo.blog52.fc2.com/blog-entry-26.html ↑こちらのブログを拝見したのですが、 SQLの事がさっぱりわからず質問いたします。 【質問1.】開く場所はデーターベース内にある dtb_customer/point/Edit SQLでよろしいでしょうか? 【質問2.】そこには下記のように記載されております。 『SELECT "point", count(*) AS "count" FROM "dtb_customer" GROUP BY "point" ORDER BY "point"』 その続きで下記を追加すれば良いのでしょうか? (条件は最終購入日から12ヶ月でOptです) 『update dtb_customer set point=0 where CAST(last_buy_date + '12 months' AS timestamp) <= CURRENT_TIMESTAMP ;』 つまり SELECT "point", count(*) AS "count" FROM "dtb_customer" GROUP BY "point" ORDER BY "point" update dtb_customer set point=0 where CAST(last_buy_date + '12 months' AS timestamp) <= CURRENT_TIMESTAMP ; こんな感じで大丈夫でしょうか? どなたかよろしくお願いいたします。 ------------------------------------------------------------ EC-CUBE 2.12.5 DB PostgreSQL 8.2.23 |
karin |
投稿日時: 2015/12/15 16:40
対応状況: −−−
|
仙人 登録日: 2008/9/15 居住地: 東京都 投稿: 689 |
Re: ポイントの有効期限 dsh 様
該当のSQLは参照記事のこの部分だと思います。
※12ヶ月にする場合は要引数変更。 SQLで直接DBに変更を加えようとしているように見受けられますが、 SQLの知識がない状態でSQLを実行すると想定外のトラブルが発生する可能性がありますので、おすすめできません。 どうしても作業する必要がある場合は、作業前にDBのバックアップをとっておくことをおすすめします。
|
dsh |
投稿日時: 2015/12/15 18:58
対応状況: −−−
|
常連 登録日: 2014/8/8 居住地: 投稿: 39 |
Re: ポイントの有効期限 karin 様
回答ありがとうございます。 『update dtb_customer set point=0 where CAST(last_buy_date + '24 months' AS timestamp) <= CURRENT_TIMESTAMP ;』 ↑この部分が該当する箇所ということはわかるのですが DB内のdtb_customer/point/Edit SQLを開くと 『SELECT "point", count(*) AS "count" FROM "dtb_customer" GROUP BY "point" ORDER BY "point"』 ↑このように記載されていて...この続きで 『update dtb_customer set point=0 where CAST(last_buy_date + '12 months' AS timestamp) <= CURRENT_TIMESTAMP ;』 ↑これを書き込んで良いのかがわかりません。 お分かりでしょうか? もしくは、DBを触らなくても期限をつける方法ありますか? 想定外のトラブル、重々承知しております... 本当は触りたくない場所なのですが、どうしても必要なので困っております。 バックアップとっておく必要ありますね。 アドバイスありがとうございます。 |
karin |
投稿日時: 2015/12/15 20:18
対応状況: −−−
|
仙人 登録日: 2008/9/15 居住地: 東京都 投稿: 689 |
Re: ポイントの有効期限 dsh 様
『SELECT "point", count(*) AS "count" FROM "dtb_customer" GROUP BY "point" ORDER BY "point"』 これは本件とは関係のないSQLです。 おそらくphpPgAdminをご利用かと推測されますが、 今回のSQLを実行する場合、 ページ上部の「SQL」というリンクをクリックするとSQL入力画面が "空の状態で表示" されるはずですので、 そこへdsh様のSQLを入力し「実行する」ボタンをクリックするとSQLが実行されます。
|
dsh |
投稿日時: 2015/12/21 10:16
対応状況: −−−
|
常連 登録日: 2014/8/8 居住地: 投稿: 39 |
Re: ポイントの有効期限 Karin 様
回答ありがとうございます。 稼動サイトで実行する勇気がなかったので テストサイトを立ち上げ、教えていただいた場所に SQLを入力・実行をしてみましたがうまくいきませんでした。 結果をみる為に '12 months' も待っていられないので '1 day' にしました。この書き方が間違っているのですかね・・ |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |