Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Czy można automatycznie utworzyć plik mysqldump, który nie wymusza ograniczeń klucza obcego?

mysqldump polecenie dołączone do MySQL od wersji 4.1.1 domyślnie tworzy skrypt, który wyłącza sprawdzanie kluczy obcych. W górnej części pliku zrzutu znajduje się następujący wiersz:

/*!40014 SET @[email protected]@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;

/*!40014 ... */ składnia to komentarz warunkowy które zostaną wykonane na MySQL w wersji 4.0.14 i nowszych. Stare ustawienie sprawdzania kluczy obcych jest przywracane pod koniec pliku zrzutu:

/*!40014 SET [email protected]_FOREIGN_KEY_CHECKS */;

Zauważ, że komentarze warunkowe są interpretowane przez klienta (zamiast serwera). Jeśli załadujesz plik zrzutu za pomocą klienta, który ich nie obsługuje, sprawdzanie kluczy obcych nie zostanie wyłączone i mogą wystąpić błędy. Aby uzyskać najlepsze wyniki, sugeruję ładowanie plików zrzutu za pomocą oficjalnego klienta wiersza poleceń mysql:

mysql -hserver -uuser -p database < dumpfile.sql

Warto również zauważyć, że jeśli mysqldump jest uruchamiany z --compact opcja, to polecenia wyłączania i ponownego włączania sprawdzania kluczy obcych są pomijane w pliku zrzutu.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MYSQL last_insert_id() i współbieżność

  2. policz 10 najczęściej występujących wartości w kolumnie w mysql

  3. Przywróć bazę danych mysql z plików .frm

  4. Ograniczenie zapobiegające wstawianiu pustego ciągu w MySQL

  5. Jak usunąć kolumnę z tabeli w MySQL za pomocą numeru kolumny?