속성 테이블 attr
商品表 item
关联表 item_attr
속성 테이블 필드cat_id
、title
제품 테이블 필드item_id
、title
제품 테이블 필드item_attr_id
、item_id
、attr_id
예를 들어 5개의 속성 레코드가 있는데 cat_id
1, 2, 3, 4, 5입니다.
제품을 추가하고 속성 2와 5를 선택하세요
그러면 연관 테이블은 두 개의 레코드여야 합니다. 이제 이를 수정하려는 경우(예를 들어 5를 제거하고 4를 추가하는 경우) 일반적으로 이렇게 처리합니다.
이제 원본을 먼저 가져오는 중입니다 attr_id
,一个一个去查找看新 attr_id
有没有,如果没有就删除,再循环新attr_id
一个一个查找就的 attr_id
건너뛴 것이 있나요? 없으면 추가하세요
더 좋은 방법이 있을까요? 처음에는 모두 삭제하고 새로 추가하는 것이 제 생각이었습니다. 비과학적이지 않나요
?
연관 테이블은 인벤토리 테이블이어야 합니다. 하나의 제품 + 하나의 속성이 인벤토리를 정의합니다. 위에서 말씀하신 내용은 순회해서 비교한 후 변경사항이 있으면 수정하고, 변경사항이 없으면 삭제하라는 말씀이 맞습니다.
나중에 말씀하신 내용은 과학적인데, 아까 말씀하신 내용은 너무 복잡해서 비과학적입니다.
연관 테이블에서 먼저 item_id를 기준으로 모두 삭제한 다음 item_id = 1인 item_attr에서
delete를 모두 추가합니다.
item_attr(item_id, attr_id) 값에 삽입 (1, 1), (1, 2), (1, 2);
이것이 가장 효율적입니다
모두 삭제하고 최신 항목을 기준으로 모두 추가하세요. 간단한 논리와 최고의 효율성