バージョン選択

フォーラム

メニュー

オンライン状況

77 人のユーザが現在オンラインです。 (62 人のユーザが フォーラム を参照しています。)
登録ユーザ: 0
ゲスト: 77
もっと...

サイト内検索

その他 > バージョンアップ > DBバージョンupの際にdtb_csvを手動でマージする方法

バージョンアップ

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
zobzob
投稿日時: 2025/5/29 5:23
対応状況: −−−
半人前
登録日: 2010/3/14
居住地:
投稿: 11
DBバージョンupの際にdtb_csvを手動でマージする方法
[EC-CUBE] 2.11.5
[レンタルサーバ] cpi ACE01(ae****.secure.ne.jp)
[OS] FreeBSD 10.4
[PHP] 5.5.27
[データベース] mySQL5.5.42
[WEBサーバ] Apache/2.2.34
[ブラウザ] GoogleChrome
[導入プラグインの有無] なし
[カスタマイズの有無] なし
[現象]

いつもお世話になっております。
現在、eccubeのバージョンアップのためにデータベースのアップデートに挑戦しています。

seasoft様の「EC-CUBEメモ」
https://www.seasoft.jp.net/ec/%E3%82%A2%E3%83%83%E3%83%97%E3%83%87%E3%83%BC%E3%83%88/2.12/2.11_2.12
を頼りに進めているのですが、phpMyAdminにて「dtb_csv」を手動でマージする具体的な方法について質問がございます。

上記URLの「dtb_csv」に関する記述「まずは、設定変更済みの箇所を特定する。該当箇所は、後から手動でマージする。(設定変更の移行が不要な場合、いきなり削除・挿入で良い。)」では、
DELETE FROM dtb_csv WHERE (no, csv_id, col, disp_name, rw_flg, STATUS, mb_convert_kana_option, size_const_type, error_check_types) = (***) AND rank IS NULL;
となっていて、最終的に
SELECT * FROM dtb_csv;
とすることで設定変更済みの箇所を特定出来るよう組み立てていただいているように見受けられます。

試しにSQLタブの入力欄に一連のSQL文をコピーペーストして実行ボタンを押下したところ、
70項目ほど設定変更済みと思しきものが出て来ました。
当然といえば当然なのですが、設定変更済みのデータ(以下"旧データ")と
上記URLに載っている挿入すべきデータ(以下"新データ")で「no」が重複しています。
 旧データの1つ目 (no=74, disp_name='のし', 〜〜〜)
 新データのno:74 (no=74, disp_name='お名前(名)', 〜〜〜)

「これらのデータをマージする」に挑戦したいのですが、方法としては
ーーーーー
INSERT `dtb_csv`
set
`no` = 74,
`csv_id` = 2,
`col` = 'name02',
`disp_name` = 'お名前(名)',
`rank` = 3,
`STATUS` = 1,
`create_date` = CURRENT_TIMESTAMP,
`update_date` = CURRENT_TIMESTAMP
on duplicate key UPDATE
`no` = 74,
`csv_id` = 1,
`col` = 'noshi',
`disp_name` = 'のし',
`rank` = 74,
`rw_flg` = 1,
`status` = 1,
`create_date` = '2012-08-20 02:11:13',
`update_date` = '2012-08-20 02:11:13',
`mb_convert_kana_option` = 'n',
`size_const_type` = 'INT_LEN',
`error_check_types` = 'EXIST_CHECK,NUM_CHECK,MAX_LENGTH_CHECK'
ーーーーー
と書くと、
・プライマリーキー「no」が重複しているので「のし」の「no」が更新される(恐らくdtb_csvの末尾に追加されると予想しています)
・「no=74, disp_name='のし'」と紐づいていたデータがもし存在したとしたらそれらも都合良く更新してくれる?
という解釈で合っていますでしょうか?

どなたか、解決のヒントをいただけましたら幸いです。
何卒よろしくお願い申し上げます。


※下記URL中段の「on duplicate key updateで重複チェックし、存在すればupdateを実行」を参考にさせていただきました。
https://style.potepan.com/articles/17600.html
mcontact
投稿日時: 2025/5/30 15:48
対応状況: −−−
登録日: 2022/1/22
居住地:
投稿: 1733
Re: DBバージョンupの際にdtb_csvを手動でマージする方法
引用:
「これらのデータをマージする」に挑戦したいのですが、方法としては
ーーーーー
INSERT `dtb_csv`
set
`no` = 74,
`csv_id` = 2,
`col` = 'name02',
`disp_name` = 'お名前(名)',
`rank` = 3,
`STATUS` = 1,
`create_date` = CURRENT_TIMESTAMP,
`update_date` = CURRENT_TIMESTAMP
on duplicate key UPDATE
`no` = 74,
`csv_id` = 1,
`col` = 'noshi',
`disp_name` = 'のし',
`rank` = 74,
`rw_flg` = 1,
`status` = 1,
`create_date` = '2012-08-20 02:11:13',
`update_date` = '2012-08-20 02:11:13',
`mb_convert_kana_option` = 'n',
`size_const_type` = 'INT_LEN',
`error_check_types` = 'EXIST_CHECK,NUM_CHECK,MAX_LENGTH_CHECK'
ーーーーー
と書くと、
・プライマリーキー「no」が重複しているので「のし」の「no」が更新される(恐らくdtb_csvの末尾に追加されると予想しています)
・「no=74, disp_name='のし'」と紐づいていたデータがもし存在したとしたらそれらも都合良く更新してくれる?
という解釈で合っていますでしょうか?


記載されているINSERT文では、
存在したとしたらそれらも都合良く更新されることはありません。


----------------
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
EC-CUBEインテグレートパートナー【ゴールド】ランク
M&I Works
URL: https://miworks.biz/
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

zobzob
投稿日時: 2025/5/31 4:54
対応状況: −−−
半人前
登録日: 2010/3/14
居住地:
投稿: 11
Re: DBバージョンupの際にdtb_csvを手動でマージする方法
mcontact様、ご投稿誠にありがとうございました。
mcontact
投稿日時: 2025/6/3 16:48
対応状況: −−−
登録日: 2022/1/22
居住地:
投稿: 1733
Re: DBバージョンupの際にdtb_csvを手動でマージする方法
dtb_csvテーブルのnoカラムにAUTO_INCREMENT属性がついているのであれば、INSERT文からnoカラムは外すことができます。
AUTO_INCREMENT属性がついていない様であれば、MAX関数+1でINSERT文を書くと良いと思います。


----------------
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
EC-CUBEインテグレートパートナー【ゴールド】ランク
M&I Works
URL: https://miworks.biz/
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBE公式 Amazon Payプラグイン

統計情報

総メンバー数は108,067名です
総投稿数は112,713件です

投稿数ランキング

1
seasoft
7369
2
468
3217
3
AMUAMU
2712
4
nanasess
2334
5
umebius
2085
6
h_tanaka
2021
7
yuh
1900
8
mcontact
1733
9
red
1582
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
805
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18 DELIGHT 572
19
patapata
502
20
balisys
502


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.