MySQL: 외부 필드에 의존하는 시퀀스 열 설정
데이터베이스 관리 영역에서는 때때로 기존 필드를 수정하는 것이 필수적입니다. 새로운 데이터 요구 사항을 수용하기 위한 구조입니다. 특정 외래 키를 기반으로 레코드에 일련 번호를 할당해야 하는 경우가 여기에 해당합니다.
ID, ACCOUNT 및 some_other_stuff 열이 있는 테이블을 생각해 보세요. 목표는 다음과 같이 각 ACCOUNT 값에 대해 고유하게 증가하는 새로운 열인 SEQ를 도입하는 것입니다.
ID ACCOUNT SEQ some_other_stuff 1 1 1 ... 2 1 2 ... 3 1 3 ... 4 2 1 ... 5 2 2 ... 6 1 4 ...
SQL 기반 솔루션:
MySQL 데이터 조작 이벤트 시 미리 정의된 작업을 자동으로 실행하는 강력한 메커니즘인 트리거를 제공합니다. 이 경우 레코드 삽입 중에 트리거를 사용하여 SEQ 열을 적절한 값으로 채울 수 있습니다. 트리거 코드:
CREATE TRIGGER trg_mytable_bi BEFORE INSERT ON mytable FOR EACH ROW BEGIN DECLARE nseq INT; SELECT COALESCE(MAX(seq), 0) + 1 INTO nseq FROM mytable WHERE account = NEW.account; SET NEW.seq = nseq; END;
분석:
위 내용은 MySQL에서 외래 키에 종속되는 시퀀스 열을 구현하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!