SQL: Truncate vs. Delete

Args, eben bin ich fast ausgeflippt, weil ein Truncate auf eine Tabelle immer an Foreignkey Constraints gescheidert ist. Für die Daten existierten aber nicht solche Bedingungen, die ein nicht Löschen rechtfertigten. Erst nach einer Ewigkeit habe ich mal ein “delete from …” versucht und zu meinem Erstaunen festgestellt, dass er funktioniert hat.

Oha, Warum denn das?

Des Rätsels Lösung wissen wahrscheinlich alle außer mir. Aber damit ich mir es auch merke schreibe ich mir auf, dass bei einem Truncate alleine die theoretische Möglichkeit von Beziehungen auf der ganzen Tabelle prüft und nicht wie bei einem Delete pro Datensatz das tatsächliche Vorhandensein einer dedizierten Beziehung.

Merke: Truncate bei Tabellen mit Constraints gehen schief, wenn die Constraints nicht vorher deaktiviert sind.

VN:F [1.9.13_1145]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.13_1145]
Rating: 0 (from 0 votes)
Artikel als PDF exportieren.

Verwandte Artikel

Hinterlasse einen Kommentar

show
 
close