web-dev-qa-db-de.com

Hinzufügen von Einschränkungen in phpMyAdmin

Ich fühle mich wie dumm, aber ich kann auf der phpMyAdmin-Benutzeroberfläche nichts finden, um Fremdschlüssel mit Einschränkungen zu versehen, z. CASCADE ON DELETE

Ich habe ähnliche Fragen hier und im phpMyAdmin-Wiki gesucht, kann aber nichts darüber finden.

Mir ist klar, dass ich dies über die Query-Oberfläche tun könnte, aber ich würde gerne wissen, wie ich es über die grafische Oberfläche tun kann.

16
Alex

Erstens sollten Sie Ihre Speicher-Engine als InnoDB verwenden. Wählen Sie dann eine Tabelle aus und gehen Sie auf die Registerkarte "Struktur".

Unter der Tabelle sehen Sie 'Beziehungsansicht', klicken Sie darauf. Von dort aus können Sie Einschränkungen hinzufügen.

31
utsikko

KASKADE

Immer wenn Zeilen in der Master-Tabelle (referenziert) gelöscht (bzw. aktualisiert) werden, werden auch die entsprechenden Zeilen der untergeordneten Tabelle (Referenzierungstabelle) mit einer entsprechenden Fremdschlüsselspalte gelöscht (bzw. aktualisiert). Dies wird als Kaskadenlöschung (bzw. Update [2]) bezeichnet.

EINSCHRÄNKEN

Ein Wert kann nicht aktualisiert oder gelöscht werden, wenn eine Zeile in einer Fremdschlüsseltabelle vorhanden ist, die auf den Wert in der referenzierten Tabelle verweist. Ebenso kann eine Zeile nicht gelöscht werden, solange aus einer Fremdschlüsseltabelle ein Verweis darauf besteht.

KEINE AKTION

KEINE AKTION und BESCHRÄNKUNG sind sich sehr ähnlich. Der Hauptunterschied zwischen NO ACTION und RESTRICT besteht darin, dass mit NO ACTION die referenzielle Integritätsprüfung durchgeführt wird, nachdem versucht wurde, die Tabelle zu ändern. RESTRICT führt die Prüfung durch, bevor versucht wird, die UPDATE- oder DELETE-Anweisung auszuführen. Beide referentiellen Aktionen verhalten sich gleich, wenn die referenzielle Integritätsprüfung fehlschlägt: Die Anweisungen UPDATE oder DELETE führen zu einem Fehler.

SET NULL

Die Fremdschlüsselwerte in der referenzierenden Zeile werden auf NULL gesetzt, wenn die referenzierte Zeile aktualisiert oder gelöscht wird. Dies ist nur möglich, wenn die entsprechenden Spalten in der referenzierenden Tabelle nullfähig sind. Aufgrund der Semantik von NULL erfordert eine referenzierende Zeile mit NULL in den Fremdschlüsselspalten keine referenzierte Zeile.

8
Arun Yokesh

Zunächst sollten Sie die Speicher-Engine als InnoDB auswählen.

Gehen Sie folgendermaßen vor: Klicken Sie auf Datenbankname -> Mehr -> Designer 

0
umutekici