ECmall 後台缺乏批量建立商店功能,透過 Excel 產生 SQL 直寫資料庫,快速完成 300+ 商店的建立、分區綁定與權限授予。
ecm_store:商店主檔(店名、店主、狀態、建立時間等)。ecm_category_store:商店-分區多對多關聯表。ecm_user_priv:使用者權限表(privs='all' 表完整權限)。假設:A1=商店名,B1=店主ID,C1=分區ID,D1=用戶ID(與店主ID相同)。
=CONCATENATE(
"INSERT INTO ecm_store VALUES ('",
B1, "', '", A1, "', '", A1, "', '', NULL, '', '', '', '1', '', '0', '0.00', NULL, '1', '', '1282202793', '0', NULL, '14', '1', '', NULL, NULL, NULL, '', '', '', '');"
)
產出範例:
INSERT INTO ecm_store VALUES ('14', 'A101', 'A101', '', NULL, '', '', '', '', '1', '', '0', '0.00', NULL, '1', '', '1282202793', '0', NULL, '14', '1', '', NULL, NULL, NULL, '', '', '', '');
=CONCATENATE(
"INSERT INTO ecm_category_store (cate_id, store_id) VALUES ('",
C1, "', '", B1, "');"
)
產出範例:
INSERT INTO ecm_category_store (cate_id, store_id) VALUES ('1', '14');
=CONCATENATE(
"INSERT INTO ecm_user_priv (user_id, store_id, privs) VALUES ('",
D1, "', '", D1, "', 'all');"
)
產出範例:
INSERT INTO ecm_user_priv (user_id, store_id, privs) VALUES ('14', '14', 'all');
DESC ecm_store 確認欄位數與型別。privs='all' 為 ECmall 內建關鍵字,代表該用戶擁有該商店所有管理權限。LOAD DATA INFILE 可處理百萬級資料,效能優於逐條 INSERT。此技巧不限 ECmall,適用於任何無批量匯入介面的 PHP/MySQL 專案,核心在於「Excel 產生參數化 SQL」與「資料表關聯正確性驗證」。