>  Q&A  >  본문

java - 관련 테이블을 수정하는 방법

속성 테이블 attr
商品表 item
关联表 item_attr

속성 테이블 필드
cat_idtitle

제품 테이블 필드
item_idtitle

제품 테이블 필드
item_attr_iditem_idattr_id

예를 들어 5개의 속성 레코드가 있는데 cat_id1, 2, 3, 4, 5입니다.
제품을 추가하고 속성 2와 5를 선택하세요

그러면 연관 테이블은 두 개의 레코드여야 합니다. 이제 이를 수정하려는 경우(예를 들어 5를 제거하고 4를 추가하는 경우) 일반적으로 이렇게 처리합니다.

이제 원본을 먼저 가져오는 중입니다 attr_id,一个一个去查找看新 attr_id 有没有,如果没有就删除,再循环新attr_id一个一个查找就的 attr_id건너뛴 것이 있나요? 없으면 추가하세요

더 좋은 방법이 있을까요? 처음에는 모두 삭제하고 새로 추가하는 것이 제 생각이었습니다. 비과학적이지 않나요

?
PHP中文网PHP中文网2711일 전691

모든 응답(3)나는 대답할 것이다

  • 某草草

    某草草2017-05-18 10:46:26

    연관 테이블은 인벤토리 테이블이어야 합니다. 하나의 제품 + 하나의 속성이 인벤토리를 정의합니다. 위에서 말씀하신 내용은 순회해서 비교한 후 변경사항이 있으면 수정하고, 변경사항이 없으면 삭제하라는 말씀이 맞습니다.

    회신하다
    0
  • 天蓬老师

    天蓬老师2017-05-18 10:46:26

    나중에 말씀하신 내용은 과학적인데, 아까 말씀하신 내용은 너무 복잡해서 비과학적입니다.
    연관 테이블에서 먼저 item_id를 기준으로 모두 삭제한 다음 item_id = 1인 item_attr에서
    delete를 모두 추가합니다.
    item_attr(item_id, attr_id) 값에 삽입 ​​(1, 1), (1, 2), (1, 2);
    이것이 가장 효율적입니다

    회신하다
    0
  • 高洛峰

    高洛峰2017-05-18 10:46:26

    모두 삭제하고 최신 항목을 기준으로 모두 추가하세요. 간단한 논리와 최고의 효율성

    회신하다
    0
  • 취소회신하다