내 데이터베이스에 5 개의 MyISAM 테이블이 있다고 가정 해 봅니다. 각 테이블에는 키가 있습니다. "id_num"이라고합니다 ...MyISAM에서 삭제하기 전에 테이블간에 행이 있는지 확인해야합니까?
"id_num"은 모든 테이블을 함께 연결하는 데 사용하는 필드입니다. 특정 값의 "id_num"이 모든 테이블에 나타나거나 때로는 테이블의 서브 세트에만 나타날 수 있습니다.
데이터베이스의 특정 "id_num"인스턴스를 모두 삭제하려면 모든 테이블에서 DELETE 명령을 수행하거나 "id_num"값이 존재하는지 확인해야합니까?
DELETE * FROM table1 WHERE id_num = 123;
DELETE * FROM table2 WHERE id_num = 123;
DELETE * FROM table3 WHERE id_num = 123;
DELETE * FROM table4 WHERE id_num = 123;
DELETE * FROM table5 WHERE id_num = 123;
아니면 삭제하기 전에 테이블에 이러한 행이 있는지 확인하기 위해 각 테이블에서 SELECT 명령을 수행해야합니까? 모범 사례는 무엇입니까? 다른에 FK를 한 테이블을 id_num
와 PK로하고 id_num
을 -
(. 내가 여기있는 옵션이 있으므로 삭제 계단식의 MyISAM을하지 않습니다 사용하고 있습니다) 다음과 같이 설계를 변경해야처럼
forgein 키를 사용하고 삭제할 때 캐스케이드 처리 – sandeepKumar