database.sarang.net
UserID
Passwd
Database
DBMS
ㆍMySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
MySQL Q&A 26976 게시물 읽기
No. 26976
Foreign Key의 연결Table의 Trigger 관련
작성자
김충환
작성일
2007-08-27 17:19
조회수
1,939
 
버그인지 아니면 아직 지원하지 않는것인지 모르겠습니다.
 
A Table => Parent Table
B Table => Child Table  
 
위 두개의 Table은 Foreign Key로 CONSTRAINT에 의한 ON DELETE CASCADE ON UPDATE CASCADE로 되어있습니다.
 
C Table => ETC Table
 
 
CREATE TABLE B (
  `SysId` varchar(22) NOT NULL default '-',
  `CoordX` mediumint(8) unsigned default NULL,
  `CoordY` mediumint(8) unsigned default NULL,
  `PSysId` varchar(22) NOT NULL default '-',
  PRIMARY KEY  (`SysId`),
  KEY `IDX_PSYSID` (`PSysId`),
  CONSTRAINT `FK_B` FOREIGN KEY (`PSysId`) REFERENCES `A` (`SysId`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
 
CREATE TRIGGER `TRD_B` AFTER DELETE ON `B`
  FOR EACH ROW
BEGIN
  Delete from C Where SysId = OLD.SysId and CoordX = OLD.CoordX
  END;
 
 
CREATE TABLE C (
  `SysId` varchar(22) NOT NULL default '-',
  `CoordX` mediumint(8) unsigned default NULL,
  `TEST` mediumint(8) unsigned default NULL,
  PRIMARY KEY  (`SysId`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
 
 
 
위와같이 설정되어있을때 A Table의 데이터를 삭제하면 A에 해당하는 B는 Foreign Key로인한 삭제가 되는데
이때 B에 있는 Delete Trigger가 Action이 안됩니다.
제가 알기로는 위와같이 하였을때 C까지 삭제가 되어야하는것으로 알고있습니다.
 
 
원래 이런가요? 아니면 버그인가요?
 
P.S : Delete from B where SysId ='1111'
      이렇게하면 C Table의 내용은 삭제가 됩니다. Trigger에의해서
이 글에 대한 댓글이 총 1건 있습니다.

http://bugs.mysql.com/bug.php?id=13102

김영우님이 2007-09-08 16:42에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
26979두개의 테이블에서 검색 [3]
궁금이
2007-08-28
1816
26978서로 다른 버전의 데이터 베이스 운용이 가능한지 고견 부탁 드립니다.. [1]
이은성
2007-08-28
1770
26977데이터 입력시에.. [1]
????
2007-08-27
1718
26976Foreign Key의 연결Table의 Trigger 관련 [1]
김충환
2007-08-27
1939
26975마이그레이션에서 케릭터 셋 지정하는방법 [1]
박성원
2007-08-26
1814
26974데이타 타입 관련 질문입니다. [1]
감자소녀
2007-08-26
1655
26972[질문] varchar(20) 설정 문의 [1]
홍길동
2007-08-23
1645
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.017초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다