dedlfix: Ganzen Inhalt aus Tabelle löschen?

Beitrag lesen

Hi!

kleingikeiten mit nichten,

Was du mit deinen Nichten anstellst, ist mitnichten von Belang. :-)

alleine schon nicht wegen des impliziten commits. das kann "tödlich" sein.

Auf der DELETE-Seite steht, dass TRUNCATE sowieso nicht in Transactionen ausgeführt werden kann. Auf der TRUNCATE-Seite das mit dem impliziten Commit. Allerdings steht da auch drüber: "For other storage engines" und oben drüber ging es um InnoDB. Wenn sich also der implizite Commit nicht auf InnoDB bezieht, dann ist das praktisch komplett vernachläsigbar, weil MyISAM keine Transaktionen und damit kein Commit kann, und die anderen Engines noch seltener als InnoDB verwendet werden.

ich will es mal so sagen, wenn ich TRUNCATE nicht ganz bewußt einsetze und alle unterschiede kenne, würde ich es vermeiden als ersatz für DELETE einzusetzen.

Du argumentiert ja mit einer Heftigkeit als ob TRUNCATE der Teufel persönlich ist (das aber vermutlich mit deinem Hintergrundwissen, das hauptsächlich aufgrund des professionellen Einsatzes anderer Systeme und weniger aus der Sicht des typischen MySQL-Anwenders begründet ist). Wer soweit fortgeschritten ist, dass er Transaktionen und Trigger verwendet, muss meiner Meinung nach auch in der Lage sein, Informationen in Handbüchern zu finden und bei Tests der Funktionalität unerwünschte Nebenwirkungen erkennen zu können (wenn er lieber nach der Trial-and-Error-Methode lernt).

Lo!