PHP: MySQL Tabelle leeren?
Hey.
Mein Kollege und ich sind die ganze Zeit schon dran, eine Tabelle in einer MySQL Datenbank über PHP zu löschen bzw. den Inhalt zu leeren.
Wir haben schon die unterschiedlichsten Anweisungen ausprobiert, doch nichts funktioniert!
Das ist unser Code:
<?php
//DB-Connection
$sql = ("DELETE FROM tabelle");
<?
Die DB ist erstmal eine Test-Datenbank mit random Inhalt:
Der Code gibt im XAMPP-localhost-Tab nichts aus.
Danke für jede Hilfe und Antwort :)
4 Antworten
DELETE ist hierfür auch schon richtig.
The DELETE statement is used to delete existing records in a table. (...)
Note: (...) If you omit the WHERE clause, all records in the table will be deleted!
Alternativ geht es auch mit TRUNCATE. Die Unterschiede zwischen beiden Statements kannst du hier nachlesen.
Ich sehe allerdings nicht, dass du den SQL Query an die Datenbank schicken würdest. Bisher speicherst du ihn nur als String in einer PHP-Variable.
Zum Absenden eines SQL Queries kannst du mysqli_query nutzen. Bekannt sollte dir das Prozedere allerdings bereits sein.
Eine Tabelle zu löschen (DROP) ist etwas ganz anderes als eine Tabelle zu leeren (TRUNCATE).
Für beides findest Du Anleitungen im Netz.
TRUNCATE TABLE tabelName;
--Das löscht den Inhalt der Tabelle.
Du möchtest alle Datensätze löschen?
Folgende Optionen fallen mir ein:
- Drop Table (gesamte Tabelle löschen) und dann Create Table (Tabelle vollständig neu erstellen)
- Durch eine Schleife die Datensätze einzeln löschen bis keiner mehr da ist (sehr inperformant)
- Versuch mal DELETE * FROM tabelle (eventuell ist es ja doch so leicht)
- TRUNCAT (löscht alles)
Ja das ist mir gerade auch aufgefallen, wie ich es selbst bei mir probiert habe (Vorschlag des Editors) haha. Habe das entsprechend eingefügt. :D
Ja, genau