업데이트 쿼리를 사용하여 셀의 값을 변경하고 MySql 테이블의 다른 셀을 업데이트합니다.

KT2436

5 개의 열이있는 MySQL 테이블이 있습니다. Product_id, product_name, pack_size, 가격 및 가격 변경.

가격 셀 의 값이 변경되면 셀 값을 업데이트하고 price_change 셀에도 업데이트 된 값을 저장해야한다는 요구 사항이 있습니다.

예를 들어 연결된 dbfiddle의 1 행에서 계란 가격이 1에서 3으로 변경되면 가격 셀의 새 값이 3이어야하고 price_chnage 셀이 이전 값과 새 값 1,3으로 업데이트되어야 함을 의미합니다. .

MySQL 테이블 예

출력은 다음과 같아야합니다. 여기에 이미지 설명 입력

이것이 달성 가능한지 확실하지 않지만 질문에 해가 없습니다 :) 감사합니다 귀하의 도움은 매우 감사하겠습니다

팀 비겔 라이젠

CSV 형식의 단일 데이터 포인트에 가격 내역을 저장하는 것은 그다지 유용하지 않거나 확장 가능하지 않기 때문에 현재 스키마를 사용하지 않는 것이 좋습니다. 대신 타임 스탬프와 함께 이전 행의 백업을 삽입 할 아카이브 테이블을 만드는 것이 좋습니다. 삽입 작업은 현재 기본 테이블을 업데이트 할 때마다 트리거에서 발생합니다.

DELIMITER //
CREATE TRIGGER trigger_after_update
AFTER UPDATE ON yourTable FOR EACH ROW
BEGIN

    INSERT INTO yourTableBackup (Product_id, Product_name, Pack_size, price, ts_of_backup)
    VALUES
        (NEW.Product_id, NEW.Product_name, NEW.Pack_size, NEW.price, NOW());

END;
//
DELIMITER ;

yourTableBackup다음 테이블 구조 사용하여 의 이름으로 백업 테이블을 정의했다고 가정합니다 .

CREATE TABLE yourTableBackup (Product_id, Product_name, Pack_size, price, ts_of_backup);

이 백업 테이블을 사용하면 시간에 따른 특정 제품의 가격 내역을 상당히 쉽게 볼 수 있습니다. 과거 가격 값을 복원해야하거나 추세를 찾아야하는 경우 이제 그렇게 할 수 있습니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

Related 관련 기사

뜨겁다태그

보관