1
내 DB (InnoDB)에 문제가 있습니다. 저는 두 개의 테이블을 가지고 있습니다 :MySQL의 "ON UPDATE"제약 조건이 내 행을 삭제합니다.
table1{
id1 INT..
..
PRIMARY KEY (id1)
}
table2{
fk INT..
...
FOREIGN KEY (FK) REFERENCES table1(id1)
ON DELETE CASCADE
ON UPDATE CASCADE
}
이제 ... 테이블 1에 레코드를 변경하면 테이블 2의 레코드가 삭제됩니다! 나는이 행동을 원하지 않는다. 이걸 어떻게 바꿀 수 있니?
나는 "InnoDB는 외래 키 제약 조건으로 비 고유 키를 참조 할 수있다"고 읽었습니다. 내 열쇠는 독특합니다. 이걸 어떻게 바꿀 수 있니?
감사합니다.
예. 알아,하지만 table1에서 업데이트 할 때 행이 삭제됩니다. 나는 이유를 모른다. –
아, 너무 빨리 읽어 죄송합니다. 그러면 뭔가 다른 일이있을 것입니다 ('table1'에 대한 트리거?). 여기서 일어나는 일은 외래 키와 관련 될 수 없다. ('REPLACE'는 실제로'DELETE'와'INSERT'가 뒤섞이기 때문에'UPDATE' 대신에'REPLACE'를 사용하여''table1''에서 레코드를 변경하지 않는 한) . – RandomSeed
예. 방아쇠. 이 트리거는 숫자를 다른 테이블로 변경합니다. 아니요 ... 업데이트를 사용합니다 –