MariaDB 10.0은 덤프 삽입 시 외부 키 이름을 바꿉니다.
상태: MariaDb 10.0으로 정확한 두 개의 데이터베이스 설정
하나는 꽉 찼고 다른 하나는 비어있고 덤프가 삽입되기를 기다리고 있습니다.
표에 외래 키 제약 조건이 있습니다.
ALTER TABLE `rel_account_account` ADD CONSTRAINT `FK_Account` FOREIGN KEY (`InAccountID`) REFERENCES `t_account` (`ID`) ON DELETE RESTRICT ON UPDATE CASCADE;
데이터베이스를 덤프할 경우
mysqldump -uroot -p --default-character-set=utf8 livedb -r live.sql
다른 시스템에서 복구하는 방법으로
mysql -uroot -p --default-character-set=utf8 livedb
mysql> SOURCE live.sql
그런 다음 외부 키의 이름이 특정 스키마로 바뀝니다.
<tablename>_ifbk<index>
즉, FK:
FK_Account
이름이 다음으로 자동 변경되었습니다.
rel_account_account_ifbk_1
저는 서류에서 그런 가능성에 대해 아무것도 발견하지 못했기 때문에 여기에 문의합니다.구성 가능한 기능인가요? 자동으로 실행되면 매우 위험할 수 있다고 생각하기 때문입니다.
무슨 생각 있어요?
편집: 답변을 참조하십시오.
네, NAVICAT MySql 도구로 만든 다른 덤프로 덤프를 삽입하기 전에 덤프를 덮어쓴 것 같습니다.
그러나 이론적으로 동일해야 할 이 문장은 SHOW CREATE TABLE에서 볼 수 있는 문장을 만들지 않았습니다. (힌트를 주신 @Michael Berkowski 감사합니다!)
SHOW CREATE TABLE의 문을 사용할 수 있는 옵션이 고급 아래에 있다는 것을 발견했습니다. 이 옵션은 이름과 함께 FK 제약 조건을 내보냅니다.
그래서 첫 번째 덤프는 FK 이름을 설정하지 않았기 때문에 mariadb는 FK 이름을 자체적으로 만들었습니다. 이것은 기술적으로 정확합니다.
그래서 기술적인 소금이 조금 들어있는 간단한 집에서 만든 문제였습니다.
언급URL : https://stackoverflow.com/questions/28089629/mariadb-10-0-renames-foreign-keys-on-dump-insert
'itsource' 카테고리의 다른 글
Power GUI가 출력을 자르지 않도록 방지 (0) | 2023.10.14 |
---|---|
mysql 또는 php에서 'u00e9'를 utf8 char로 변환하는 방법은 무엇입니까? (0) | 2023.10.14 |
java.time을 serializing하는 Spring boot 문제가 발생했습니다.ISO-8601 JSON 타임스탬프를 반환하는 LocalDateTime with Jackson? (0) | 2023.10.09 |
mysql 출력을 bash 변수로 구문 분석하면 공백으로 인해 깨집니다. (0) | 2023.10.09 |
Sequel Pro?(GUI 기반 sql navigator)를 대체하는 Linux (0) | 2023.10.09 |