Zmiana zmiennej sesji, takiej jak foreign_key_checks
trwać tylko przez czas trwania sesji. Po otwarciu nowego połączenia opcja domyślnie przyjmuje wartość globalną.
PhpMyAdmin, jak każda aplikacja PHP, otwiera nowe połączenie dla każdego żądania. Więc jak tylko zmienisz foreign_key_checks
, zamyka sesję, dla której zmieniłeś tę opcję, a zmiana dobiega końca.
Jeśli chcesz zmienić tę opcję, musisz wykonać zmianę jako część skryptu importu, więc zostanie obsłużona na początku połączenia, które przetwarza import.
Inną możliwością jest zmiana go za pomocą SET GLOBAL ...
, ale wpłynie to na wszystkie sesje, nie tylko na tę, której używasz do importu. Ponadto potrzebujesz SUPER
uprawnienia do zmiany opcji globalnych, a wydaje się, że nie masz takiego uprawnienia.
Edycja:Inną opcją jest odznaczenie „Włącz sprawdzanie kluczy obcych” na etapie importu...