質問 > 管理機能 > データベースで移動した際の重複データ |
管理機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
ゲスト |
投稿日時: 2008/5/14 20:41
対応状況: −−−
|
データベースで移動した際の重複データ はじめまして、どうしても解決できずこちらに書かせていただきます。
1.32 → 1.46へバージョンをアップする際に、サーバーも 移転したのですが、 その際顧客データや商品データ などをデータベース間でCSVで移動させました。 表面上はまったく問題なく動作していますが、新規会員登録 等を新たにすると、 また顧客idが1から始まってしまい まえのデータと重複してしまいます。 データベースにも同じ顧客idで二人の別々なデータが 登録されております。 データベースに明るい方でに教授いただければ幸いです よろしくお願いします。 環境 現在のサイトはこの環境です EC-CUBEバージョン 1.4.6 PHPバージョン PHP 5.2.5 DBバージョン PostgreSQL 8.2.4 |
|
saratoga |
投稿日時: 2008/5/14 21:49
対応状況: −−−
|
一人前 登録日: 2006/9/22 居住地: 大阪 投稿: 76 |
Re: データベースで移動した際の重複データ dtb_customer の customer_id は serial なので、データのみを移動した場合は setval でシーケンスの値も同期してあげる必要があると思います。
ゲストさんの PostgreSQL のバージョンだと、この辺が参考になるでしょうか。 http://www.postgresql.jp/document/pg826doc/html/functions-sequence.html |
ゲスト |
投稿日時: 2008/5/15 7:20
対応状況: −−−
|
Re: データベースで移動した際の重複データ saratoga様 返信ありがとうございます。
恥ずかしながらDBに関してはまったくの素人でして、 提示いただいたページを読んでもなかなか理解できなかったの ですが、 customer_id のデフォルトの部分の nextval('dtb_order_order_id_seq'::regclass) という記述を setval('dtb_order_order_id_seq'260) と入れたところ無事 次の登録が261から開始されるように なりました。 ありがとうございました。 ただ、同じようにorder_idも重複してしまい 上記と同じ対処で解決するかと思われたのですが、 残念ながらこちらはまたもとの1から振り分けられてしまい 重複が解決できませんでした。 こちらのカラムはなにか別な処理が必要なのでしょうか? もしよろしければ、ご教授願えれば幸いです。 |
|
ゲスト |
投稿日時: 2008/5/15 7:21
対応状況: −−−
|
Re: データベースで移動した際の重複データ nextval('dtb_order_order_id_seq'::regclass)
の部分 nextval('dtb_customer_customer_id_seq'::regclass) の誤りでした。 訂正いたします。 |
|
ゲスト |
投稿日時: 2008/5/16 17:24
対応状況: −−−
|
Re: データベースで移動した際の重複データ すいません自己解決いたしました。
phppgadmin上で シーケンスという項目があって そこの setvalue値を変更して解決いたします。 お手数掛けましたありがとうございます。 |
|
ゲスト |
投稿日時: 2008/5/19 22:04
対応状況: −−−
|
Re: データベースで移動した際の重複データ -- 重複行を削除し、受注情報一時保管テーブルを作成する
create table dtb_order_test as select distinct * from dtb_order; -- 受注情報を削除する delete from dtb_order; -- 受注情報テーブルに受注情報一時保管テーブルをインサート insert into dtb_order select * from dtb_order_test; -- 受注一時保管テーブルを消去 drop table dtb_order_test; |
|
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |