2017-07-22 3 views
1

Ich habe eine kleine db, dass ich einige Tabellen nur hinzugefügt und für Fremdschlüssel einrichten ...kann nicht eingestellt foreign_key_checks auf 0/off

Jetzt möchte ich einige Daten laden und haben über die Verwendung der folgenden gelesen vorübergehend die Kontrolle ausschalten ...

SET FOREIGN_KEY_CHECKS = 0; 

ich diese Abfrage aus dem SQL-Fenster leite ... ich erhalte eine ‚Erfolg‘ Nachricht aber wenn ich die Einstellung zu überprüfen (via SHOW Variables WHERE Variable_name='foreign_key_checks';) die Einstellung zeigt, wie ON und Ich kann nicht hochladen, ohne in den foreign_key-check Fehler/Beschwerde zu gelangen.

Die Nachricht, nachdem ich die Abfrage ausführen:

MySQL zurück eine leere Ergebnismenge (das heißt Null-Zeilen). (Query nahm 0,0001 Sekunden.)

Ich habe versucht, die globale Version zu verwenden und bekam eine Nachricht mein Benutzer sagen haben nicht die notwendigen Privilegien ...

Ich weiß nicht einmal, was ich Benutzer Ich greife auf die Datenbank zu - Ich benutze phpMyAdmin nach dem Einloggen in meinen cloud-gehosteten dedizierten Server ... nicht über DB-Benutzer.

ich folgendes an der Unterseite meines phpMyAdmin Homepage sehen:

Ihre PHP MySQL-Bibliothek Version 5.1.73 unterscheidet sich von Ihrem MySQL-Server-Version 5.6.36. Dies kann zu unvorhersehbarem Verhalten führen.

Jede Hilfe wird geschätzt.

Antwort

1

Ändern einer Sitzungsvariablen wie foreign_key_checks zuletzt nur für die Dauer der Sitzung. Sobald Sie eine neue Verbindung öffnen, wird standardmäßig der globale Wert verwendet.

PhpMyAdmin, wie jede PHP-Anwendung, öffnet eine neue Verbindung für jede Anfrage. Sobald Sie also foreign_key_checks ändern, schließt es die Sitzung, für die Sie diese Option geändert haben, und Ihre Änderung ist beendet.

Wenn Sie diese Option ändern möchten, müssen Sie die Änderung als Teil des Import-Skripts ausführen, sodass sie zu Beginn der Verbindung verarbeitet wird, die den Import verarbeitet.

Eine andere Möglichkeit ist, es mit zu ändern, aber dies betrifft alle Sitzungen, nicht nur die, die Sie für Ihren Import verwenden. Außerdem benötigen Sie das Privileg SUPER, um globale Optionen zu ändern, und Sie scheinen dieses Privileg nicht zu besitzen.

Edit: Eine weitere Möglichkeit ist deaktivieren "Enable Fremdschlüsselprüfungen" auf dem Import der Bühne ... Screenshot of Import in phpMyAdmin

+0

Vielen Dank! Ich glaube, ich musste die Definition von "Sitzung" verstehen ... das macht vollkommen Sinn. Auch während des Imports haben Sie die Option (ein Kontrollkästchen), um Fremdschlüsselprüfungen zu deaktivieren. Irgendjemand hat Mitleid mit Neulingen ... – 11teenth

+0

@ 11teent Bitte schlagen Sie eine Bearbeitung mit der Checkbox Lösung vor. Oder schreibe deine eigene Antwort, wenn BIll keine Änderungen macht :-) –

Verwandte Themen