Index: branches/version-2_11-dev/data/class/pages/admin/products/LC_Page_Admin_Products_ProductClass.php
===================================================================
--- branches/version-2_11-dev/data/class/pages/admin/products/LC_Page_Admin_Products_ProductClass.php	(revision 21185)
+++ branches/version-2_11-dev/data/class/pages/admin/products/LC_Page_Admin_Products_ProductClass.php	(revision 21225)
@@ -237,5 +237,4 @@
         $arrDefault = $this->getProductsClass($product_id);
 
-        // XXX #1188 UPDATE だとデータの不整合が発生するため DELETE/INSERT を行う
         $objQuery->delete('dtb_products_class', 'product_id = ? AND class_combination_id IS NOT NULL', array($product_id));
 
@@ -295,5 +294,11 @@
 
             $arrPC['create_date'] = 'CURRENT_TIMESTAMP';
-            $arrPC['product_class_id'] = $objQuery->nextVal('dtb_products_class_product_class_id');
+            // 更新の場合は, product_class_id を使い回す
+            if (!SC_Utils_Ex::isBlank($arrList['product_class_id'][$i])) {
+                $arrPC['product_class_id'] = $arrList['product_class_id'][$i];
+            } else {
+                $arrPC['product_class_id'] = $objQuery->nextVal('dtb_products_class_product_class_id');
+            }
+
             /*
              * チェックを入れない商品は product_type_id が NULL になるので, 0 を入れる
