반응형
phpMyadmin에서 외부 키 열에 대한 인덱스를 삭제할 수 있습니다.
MySQL 테이블에 다음과 같은 외부 키가 정의되어 있다고 가정합니다.
또한 MySQL은 외부 키 열에 필요한 인덱스를 자동으로 생성합니다.
이제 이 페이지에서 외부 키 열에 대한 인덱스를 삭제하려고 하면 phpMyAdmin이 먼저 삭제하고 삭제합니다.쿼리 로그에 따르면 다음과 같은 결과가 수행됩니다.
SET FOREIGN_KEY_CHECKS = OFF
ALTER TABLE `bank_accounts` DROP INDEX `currency`
SET FOREIGN_KEY_CHECKS = ON
그런 다음 인덱스가 테이블에서 사라지면 외부 키 제약 조건이 일관되지 않은 상태로 유지됩니다.이와 관련하여 몇 가지 질문이 있습니다.
- 열에 인덱스가 없는 외부 키 제약 조건이 있는 이유가 있습니까?
- phpMyAdmin에서 이 동작을 허용하지 않는 방법이 있습니까?
phpMyAdmin v5.2.0에서 테스트되었습니다.
업데이트: 이 문제는 검사가 비활성화된 상태에서 외부 키 열에 대한 인덱스를 제거할 수 있기 때문에 MariaDB와 관련이 있는 것 같습니다(버전 10.9에서 테스트됨).MySQL 8.0에서는 이를 허용하지 않습니다.phpMyAdmin이 인덱스 삭제를 시도하기 전에 외부 키 검사를 비활성화하는 이유는 여전히 불분명합니다.
언급URL : https://stackoverflow.com/questions/74924122/phpmyadmin-allows-to-drop-indexes-for-foreign-key-columns
반응형
'programing' 카테고리의 다른 글
"error: option --single-version-external-managed not recognized"는 무엇을 의미합니까? (0) | 2023.08.21 |
---|---|
테이블 사킬라를 만들 수 없습니다."address" "외부 키 제약 조건이 잘못 형성되었습니다." (0) | 2023.08.21 |
Symfony2 양식 입력에 클래스 속성을 설정하는 방법 (0) | 2023.08.21 |
어레이에 추가 j쿼리 (0) | 2023.08.21 |
JS에서 모든 Firefox 버전 검색 (0) | 2023.08.21 |