2014-12-22 3 views
0

어디서나이 파일을 찾을 수 없으므로 가능성이 희박합니다. 내가 여기서 물어볼 것임을 확신했는지.mysql을 사용하는 다른 테이블의 열 개수를 기준으로 열의 값을 업데이트하십시오.

2 개의 테이블이있는 데이터베이스가 있습니다. 이제는 테이블 A와 B에 이름을 붙이십시오. 나는 테이블 B에 아이템들을 가지고 있는데, 각 아이템은 테이블 A에있는 아이템과 다 대일 관계가있다. 이제 테이블 AI에 테이블 B의 얼마나 많은 아이템이 그 아이템과 관련이 있는지 필드를 포함해야한다. A. 예 테이블 A의 항목 :

+----+------+---------+ 
| id | data | count_b | 
+----+------+---------+ 
| 1 | blah |  2 | 
| 2 | blah |  0 | 
| 3 | blah |  1 | 
+----+------+---------+ 

예 테이블 B : 자동으로 테이블의 컬럼 count_b에게 행 인 매번 업데이트 에 방법이 있는지

+----+------+--------+ 
| id | data | parent | 
+----+------+--------+ 
| 1 | blah |  1 | 
| 2 | blah |  1 | 
| 3 | blah |  3 | 
+----+------+--------+ 

지금 궁금 B에 삽입 되었습니까?

나는 mysql만을 사용하여 이것을 달성하고 싶다. 내 웹 응용 프로그램은 데이터베이스 매핑을 위해 doctrine을 사용합니다. 그래서 어떻게 든 그것을 관계로 정의 할 수 있다면 괜찮을 것입니다.

내가 의견에 분명히 알고있는 것이 확실치 않은 경우 최대한 명확한 질문을 설명하려고 노력했습니다. 미리 감사드립니다.

답변

1

원하는대로 정확하게하려면 TRIGGER을 만들 수 있습니다. 다소 비슷한 결과를 얻으려면이 개수를 포함하는 추가 열이 포함 된이 테이블에 대한보기를 만들 수 있습니다.

중복 된 데이터를 데이터베이스에 삽입하는 것을 방지하고 트리거가 필요 없기 때문에 두 번째 옵션을 강력하게 선호합니다. 트리거가 성능 및 유지 관리의 악몽으로 빠르게 전환 될 수 있다는 것을 알고 있으면 좋습니다.

+0

나 자신도보기를 사용하는 편이 좋겠지 만 Doctrine을 사용하여 개체를 매핑 할 때 엉망이 될 것 같습니다. 내 사용을 위해 나는 TRIGGER가 잘 동작해야한다고 생각한다. 응용 프로그램 에서처럼 데이터를 반환 할 때 퍼포먼스만을 다루고 삽입하는 동안 퍼포먼스는 중요하지 않습니다. – NoCode

관련 문제