데이터 베이스 MySQL 튜토리얼 MySQL主外键表关联表数据的同时删除

MySQL主外键表关联表数据的同时删除

Jun 07, 2016 pm 05:29 PM
MySQL의 외래 키 데이터

要求将满足某个条件的主表和相关联的几个子表的数据全部删除,其实这个要求很简单,如果子表在创建外键的时候指定了ON DELETE CA

条件:p(父表)没有ON DELETE CASCADE c(子表)  

mysql> delete a,b from p a,c b where a.id=b.id;

ERROR 1451 (23000): Cannot delete or update a parent row: a foreign key constraint fails (`hhl`.`c`, CONSTRAINT `FK_P_ID` FOREIGN KEY (`id`) REFERENCES `p` (`id`))

mysql> show profiles ;

+----------+------------+------------------------------------------+

| Query_ID | Duration | Query |

+----------+------------+------------------------------------------+

| 1 | 0.00875600 | delete a,b from p a,c b where a.id=b.id |

| 2 | 0.01294200 | delete a,b from p a,c b where a.id=b.id |

+----------+------------+------------------------------------------+

mysql> show profile for query 2 ;

+--------------------------+----------+

| Status | Duration |

+--------------------------+----------+

| starting | 0.000314 |

| checking permissions | 0.000026 |

| checking permissions | 0.000014 |

| checking permissions | 0.000009 |

| checking permissions | 0.000010 |

| init | 0.000033 |

| Opening tables | 0.000082 |

| System lock | 0.000047 |

| init | 0.000050 |

| deleting from main table | 0.000016 |

| optimizing | 0.000019 |

| statistics | 0.000056 |

| preparing | 0.000042 |

| executing | 0.000054 |

| Sending data | 0.005026 |

| end | 0.000050 |

| query end | 0.003456 |

| closing tables | 0.000143 |

| freeing items | 0.003430 |

| logging slow query | 0.000047 |

| cleaning up | 0.000021 |

+--------------------------+----------+

21 rows in set (0.00 sec)

看出上面没有删除子表的操作。

mysql> delete a,b from c a,p b where a.id=b.id;

Query OK, 6 rows affected (0.04 sec)

from 后面 子表在前,,删除成功!!

mysql> show profile for query 3 ;

+--------------------------------+----------+

| Status | Duration |

+--------------------------------+----------+

| starting | 0.000307 |

| checking permissions | 0.000019 |

| checking permissions | 0.000017 |

| checking permissions | 0.000009 |

| checking permissions | 0.000010 |

| init | 0.000021 |

| Opening tables | 0.000091 |

| System lock | 0.000036 |

| init | 0.000047 |

| deleting from main table | 0.000016 |

| optimizing | 0.000125 |

| statistics | 0.000084 |

| preparing | 0.000042 |

| executing | 0.000013 |

| Sending data | 0.000572 |

| deleting from reference tables | 0.000103 |

| end | 0.000015 |

| Waiting for query cache lock | 0.000009 |

| end | 0.000010 |

| Waiting for query cache lock | 0.000008 |

| end | 0.000160 |

| end | 0.000022 |

| query end | 0.030033 |

| closing tables | 0.000081 |

| freeing items | 0.001465 |

| logging slow query | 0.000052 |

| cleaning up | 0.000011 |

+--------------------------------+----------+

27 rows in set (0.00 sec)

另一种方式: 先删除最外层的子表,一层一层向里删除,最后删除父表。

linux

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

뜨거운 기사 태그

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

ddrescue를 사용하여 Linux에서 데이터 복구 ddrescue를 사용하여 Linux에서 데이터 복구 Mar 20, 2024 pm 01:37 PM

ddrescue를 사용하여 Linux에서 데이터 복구

오픈 소스! ZoeDepth를 넘어! DepthFM: 빠르고 정확한 단안 깊이 추정! 오픈 소스! ZoeDepth를 넘어! DepthFM: 빠르고 정확한 단안 깊이 추정! Apr 03, 2024 pm 12:04 PM

오픈 소스! ZoeDepth를 넘어! DepthFM: 빠르고 정확한 단안 깊이 추정!

여러 조건으로 Excel 필터 기능을 사용하는 방법 여러 조건으로 Excel 필터 기능을 사용하는 방법 Feb 26, 2024 am 10:19 AM

여러 조건으로 Excel 필터 기능을 사용하는 방법

초지능의 생명력이 깨어난다! 하지만 자동 업데이트 AI가 등장하면서 엄마들은 더 이상 데이터 병목 현상을 걱정할 필요가 없습니다. 초지능의 생명력이 깨어난다! 하지만 자동 업데이트 AI가 등장하면서 엄마들은 더 이상 데이터 병목 현상을 걱정할 필요가 없습니다. Apr 29, 2024 pm 06:55 PM

초지능의 생명력이 깨어난다! 하지만 자동 업데이트 AI가 등장하면서 엄마들은 더 이상 데이터 병목 현상을 걱정할 필요가 없습니다.

Google은 열광하고 있습니다. JAX 성능이 Pytorch와 TensorFlow를 능가합니다! GPU 추론 훈련을 위한 가장 빠른 선택이 될 수 있습니다. Google은 열광하고 있습니다. JAX 성능이 Pytorch와 TensorFlow를 능가합니다! GPU 추론 훈련을 위한 가장 빠른 선택이 될 수 있습니다. Apr 01, 2024 pm 07:46 PM

Google은 열광하고 있습니다. JAX 성능이 Pytorch와 TensorFlow를 능가합니다! GPU 추론 훈련을 위한 가장 빠른 선택이 될 수 있습니다.

iPhone의 느린 셀룰러 데이터 인터넷 속도: 수정 사항 iPhone의 느린 셀룰러 데이터 인터넷 속도: 수정 사항 May 03, 2024 pm 09:01 PM

iPhone의 느린 셀룰러 데이터 인터넷 속도: 수정 사항

미 공군이 주목할만한 최초의 AI 전투기를 선보였습니다! 전 과정에 걸쳐 장관이 직접 간섭 없이 테스트를 진행했고, 10만 줄의 코드를 21차례 테스트했다. 미 공군이 주목할만한 최초의 AI 전투기를 선보였습니다! 전 과정에 걸쳐 장관이 직접 간섭 없이 테스트를 진행했고, 10만 줄의 코드를 21차례 테스트했다. May 07, 2024 pm 05:00 PM

미 공군이 주목할만한 최초의 AI 전투기를 선보였습니다! 전 과정에 걸쳐 장관이 직접 간섭 없이 테스트를 진행했고, 10만 줄의 코드를 21차례 테스트했다.

다섯 개의 유연한 손가락과 초인적인 속도를 갖춘 인간 작업을 자율적으로 완료하는 최초의 로봇 등장, 가상 공간 훈련을 지원하는 대형 모델 다섯 개의 유연한 손가락과 초인적인 속도를 갖춘 인간 작업을 자율적으로 완료하는 최초의 로봇 등장, 가상 공간 훈련을 지원하는 대형 모델 Mar 11, 2024 pm 12:10 PM

다섯 개의 유연한 손가락과 초인적인 속도를 갖춘 인간 작업을 자율적으로 완료하는 최초의 로봇 등장, 가상 공간 훈련을 지원하는 대형 모델

See all articles