테이블에 ON DELETE 제약 조건을 추가하려면 어떻게 해야 합니까?
테이블에 ON DELETE 제약 조건을 추가하려면 어떻게 해야 합니까?
ALTER TABLE+ADD CONSTRETT를 사용합니다. 예를 들어 테이블 멤버와 프로파일을 member_id로 연결하고 멤버가 삭제될 때마다 프로파일을 캐스케이드로 삭제하려면 다음과 같이 작성할 수 있습니다.
ALTER TABLE profiles
ADD CONSTRAINT `fk_test`
FOREIGN KEY (`member_id` )
REFERENCES `members` (`member_id` )
ON DELETE CASCADE
제약 조건을 업데이트해야 할 경우 해당 제약 조건을 제거한 후 다시 만들어야 하므로 변경할 직접적인 방법은 없습니다.
ALTER TABLE profiles DROP FOREIGN KEY `fk_test`
외국 키가 이미 생성되어 있다면, 저에게 효과가 있었던 트릭이 있습니다.데이터베이스 덤프를 수정한 후 수정한 내용과 함께 다시 가져올 수 있습니다.
Mysql과 Linux shell을 사용하는 경우 다음과 같습니다.
먼저 데이터베이스 내보내기:
$ mysql -u <user> -p <namedatabase> > database.sql
그런 다음 데이터베이스를 엽니다.sql file 및 변경할 테이블을 찾습니다.
더하다ON DELETE CASCADE
외국어 키 문장 끝에 저장합니다.
둘째, 수정사항이 포함된 데이터베이스를 가져옵니다.
$ mysql -u <user> -p <namedatabase> < database.sql
그러면 ON DELETE CASCADE가 작동하게 됩니다.
언급URL : https://stackoverflow.com/questions/4688599/how-can-i-add-on-delete-constraint-on-the-table
'source' 카테고리의 다른 글
부트스트랩 중앙 수직 및 수평 정렬 (0) | 2023.10.07 |
---|---|
와의 차이점은 무엇입니까?값 = " " 및 .내용 지우기? (0) | 2023.10.07 |
이 C 코드의 취약한 점은 무엇입니까? (0) | 2023.10.07 |
Woocommerce 체크아웃 페이지에서만 총 가격에 텍스트 추가 (0) | 2023.10.07 |
SQL_NO_CACH가 작동하지 않습니다. (0) | 2023.10.07 |