2012-02-25 2 views
0

sales_total이라는 필드가 있고 sales 항목이 많은 테이블이 하나 있다고 가정 해 보겠습니다. 또한 잠시 동안 총 매출액을보고 싶을 때마다 항목을 계산하는 것이 비현실적이라고 가정 해 보겠습니다.관련없는 다른 테이블에서 변경 사항이있을 때마다 MySQL이 필드를 "자동으로 업데이트"할 수 있습니까?

MySQL이 판매 항목 수가 변경 될 때마다 sales_total 필드를 자동으로 업데이트 할 수 있습니까?

C#, PHP 등 다른 쿼리를 실행하여이 작업을 수행 할 수 있음을 알고 있습니다. MySQL (또는 다른 데이터베이스 시스템)이 자체적으로이 작업을 수행 할 수 있는지 궁금합니다.

P. 물론 이것은 매우 진부한 예입니다. 이상적인 솔루션은 복잡한 작업 (필드에 여러 행을 문자열로 저장하는 등)을 처리 할 수 ​​있어야합니다.

+0

트리거를 사용하면 가능합니다. – dgw

답변

2

mysql 트리거를 사용하십시오 ... 첫 번째 테이블에서 업데이트 할 때 트리거가 두 번째 테이블을 업데이트하는 쿼리가 있어야합니다.

+0

네,이게 정확히 내가 원하는 것 같습니다. 단지 하나의 추가 질문 - 트리거 작업이 얼마나 복잡 할 수 있습니까? –

+0

당신이 만드는만큼 복잡합니다. 그러나 이것을 피하십시오. 트리거를 사용하면 복잡한 시스템에서 많은 고통을 겪을 수 있습니다. 추적하기가 매우 어렵습니다. – Kurt

+0

그래서 많은 행을 단일 문자열로 변환하여 필드에 저장하는 것이 가능합니다 (JSON은 아마도?)? –

관련 문제