Ich habe bereits meine Forex-Schlüssel und so weiter. Ich muss nur die ON DELETE CASCADE Option hinzufügen. Wie kann ich das machen? Etwas mit Alter Tabelle? Ich benutze mysql mit phpmyadminWie kann ich eine "ON DELETE CASCADE" hinzufügen
Antwort
Leider können Sie Constraints nur mit alter table erstellen und löschen, Sie können eine bestehende nicht ändern. Es gibt auch keinen separaten alter constraint-Befehl. Daher können Sie nur den Fremdschlüssel löschen und neu erstellen, indem Sie die Klausel on delete cascade hinzufügen.
Der einfachste Weg wäre die aktuelle Einschränkung zu löschen und neue mit ON DELETE
löschen hinzufügen: ALTER TABLE mytable DROP FOREIGN KEY 'fk_anothertable'
Dann erstellen Sie es erneut:
ALTER TABLE mytable
ADD CONSTRAINT 'fk_anothertable'
FOREIGN KEY ('aColumn')
REFERENCES 'anotherTable' ('aColumn')
ON DELETE CASCADE
Ich weiß nicht, was Version von phpMyAdmin, die Sie verwenden, aber auf der Version 4.5.2, hier ist, wie es funktioniert, wenn Sie es tun möchten, ohne manuell die SQL-Abfrage schreiben:
- Tisch auswählen
- Zum
Structure
Registerkarte - Zum
Relation view
„Unterregister“ - Definieren Sie Ihre Zwänge
- Speichern Sie Ihre Änderungen
Beachten Sie, dass dies nicht möglich ist, mit die MyISAM
Speicher-Engine (scheint die Standard-auf meiner Installation zu sein) und Sie müssen die InnoDB
eins auswählen:
- Wählen Sie Ihren Tisch
- Zum
Operations
Registerkarte - ändern
Storage Engine
zuInnoDB
- Speichern
Für die älteren phpMyAdmin-Versionen, ich weiß, dass es etwas anders war, als die Relation view
war zugänglich über einen Link unterhalb der Tabellenstruktur.
- 1. hinzufügen "ON DELETE CASCADE" zu vorhandenen Spalte in Laravel
- 2. JPA + Hibernate: Wie eine Einschränkung definieren ON DELETE CASCADE mit
- 3. Mein 'ON DELETE CASCADE' funktioniert nicht
- 4. Erzeuge "on delete cascade" mit Ebean
- 5. Wie fügt man "on delete cascade" Einschränkungen hinzu?
- 6. Wie bearbeite ich eine Tabelle, um CASCADE DELETE zu aktivieren?
- 7. Definieren von ON DELETE CASCADE in pgAdmin 3
- 8. SQL ON DELETE CASCADE, wie erfolgt die Löschung?
- 9. Wie funktioniert ON DELETE CASCADE in sqlite 3.7.4?
- 10. Hibernate Delete Cascade
- 11. Ist SQL Server DRI (ON DELETE CASCADE) langsam?
- 12. MERGE und ON DELETE CASCADE in Oracle XE 10g
- 13. Hibernate-Second-Level-Cache und ON DELETE CASCADE im Datenbankschema
- 14. Aktualisieren einer Fremdschlüsseleinschränkung mit ON DELETE CASCADE wird nicht aktualisiert?
- 15. Hibernate-Mapping: delete-orphan cascade
- 16. Herauszufinden, ob eine Tabelle eine DELETE auf CASCADE hat
- 17. SQL-Skript zum Ändern aller Fremdschlüssel zum Hinzufügen von ON DELETE CASCADE
- 18. MongoDB DBRef ON LÖSCHEN CASCADE
- 19. NHibernate Mapping keine ON DELETE CASCADE-Option zum Fremdschlüssel Referenz hinzufügen
- 20. Wie kann ich eine ON DELETE-Einschränkung für die Tabelle hinzufügen?
- 21. EntityFramewok: So konfigurieren Cascade-Delete Fremdschlüssel
- 22. Sollte ich ON DELETE CASCADE verwenden,: dependent =>: zerstören, oder beides?
- 23. Wann "ON UPDATE CASCADE" zu verwenden ist
- 24. MySQL ON UPDATE CASCADE nicht CASCADEing
- 25. Wird CASCADE Delete als Transaktion ausgeführt?
- 26. Hibernate ConstraintViolationException on delete
- 27. On delete Methode
- 28. Wie erstelle ich eine Rails-Migration, die einen Fremdschlüssel mit einer On-Delete-Kaskadenbedingung aktualisiert?
- 29. Ermitteln der CASCADE DELETE-Pfade, die das Hinzufügen eines neuen kaskadierten Löschvorgangs verhindern
- 30. MySQL auf delete cascade entfernen parent_id auf pk_id entfernen
Mögliche Duplikate von [Wie fügt man 'ON DELETE CASCADE' in ALTER TABLE-Anweisung] (http://stackoverflow.com/questions/1571581/how-to-add-on-delete-cascade-in-alter-table -Erklärung) – dan08