Trigger 4

MySQL Trigger 테이블당 하나의 Event Trigger

참고 mysql Tip&Tech 255Page 각 이벤트마다 테이블당 하나의 트리거만 가질수 있다. ( 달리말해 AFTER INSERT 를 호출하는 트리거는 두 개는 갖지 못한다.) MySQL은 행 수준의 트리거만 지원한다. 말인즉, 트리거는 문 전체에 적용되지 않고 FOR EACH ROW를 항상 수행한다.이는 큰데이터 집합을 다루기엔 훨씬 비효율적인 방법이다. 트리거 일반적인 주의사항 트리거는 서버가 실제로 하는 일을 분명치 않게 만든다. 간단한 문이라도 서버가 '보이지 않는 일'을 많이 수행가게 만들기 때문이다. 예를 들어 트리거 하나가 관련 테이블을 엡데이트 했다면, 문 하나가 영향을 미치는 행의 개수를 두 배로 늘릴 수가 있다. 트리거는 디버깅하기 힘들고 트리거가 관련되면 성능 병목 현상을 분석하..

db/mysql 2013.01.22

Mysql TIMESTAMP 여러 컬럼 사용

참고MySQL Timestamp Columns MySQL 에서 TIMESTAMP 필드는 테이블당 한번만 사용 가능. TIMESTAMP를 한번 이상 사용할 경우 트리거로 2번째 이후는 자동 입력하도록 구성. -- 테이블 CREATE TABLE sample ( sample_id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY , created DATETIME , updated TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP); -- 트리거 CREATE TRIGGER sample_tri_created BEFORE INSERT ON sample FOR EACH ROW BEGIN SET NEW.created ..

db/mysql 2013.01.21
반응형