Datenbank phpmyadmin
lima-city → Forum → Programmiersprachen → Sonstige Programmiersprachen
ansatz
antwort
befehl
bild
code
dank
date
datum
file
frage
funktionieren
heutige datum
http
sekunde
show
statement
tabelle
url
weg
wirken
-
Moin,
Wie kann ich in PHPMyAdmin alle Daten löschen die heute angelegt wurden in der Tabelle "shorturl" "dateCreated" am 2015-09-22
http://www.bilder-upload.eu/show.php?file=3bb099-1442955768.png
reicht das aus oder? Einfach bei SQL ausführen?
delete from shorturl where Date(dateCreated) = Date(Now())
delete from shorturl where Date(dateCreated) = '2015-09-22'
Danke euch -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Hallo laex630,
grundsätzlich, wenn du dir unsicher mit den Befehlen und deren Auswirkungen bist, kannst du entweder eine Kopie der Tabelle anfertigen und dort munter testen, oder "delete" in "select" umwandeln, dann siehst du, was gelöscht werden würde.
Nun direkt zu deiner Frage:
die Lösung ist
DELETE FROM shorturl WHERE dateCreatet LIKE '2015-09-22%'
Das Prozentzeichen (%) zeigt an, dass alles was danach kommt ignoriert wird. Es kann auch am Anfang stehen, dann wird eben alles davor ignoriert.
Verknüpft wird es mit "LIKE" anstelle eines Gleichheitszeichens(=). -
laex630 schrieb:
Okay deine Frage wurde ja schon weitgehendst beantwortet, dennoch möchte ich noch etwas hinzufügen. Deine Frage war ja wie ich bereits zitierte .
Moin,
Wie kann ich in PHPMyAdmin alle Daten löschen die heute angelegt wurden in der Tabelle "shorturl" "dateCreated" am 2015-09-22
http://www.bilder-upload.eu/show.php?file=3bb099-1442955768.png
reicht das aus oder? Einfach bei SQL ausführen?
delete from shorturl where Date(dateCreated) = Date(Now())
delete from shorturl where Date(dateCreated) = '2015-09-22'
Danke euch
Das zweite SQL-Statement von dir wäre allein schon richtig da liegt test42test falsch! Es würde funktionieren du hast ja schließlich den Datentyp DATETIME zu DATE gecastet, schön ! Dynamisch ist es aber noch nicht die Lösung von test42test dagegen aber auch nicht.
Nun zu deinem ersten SQL-Statement warum das nun nicht funktioniert ist auch simpel erklärt und da möchte ich nun auch nicht lange drum herum reden:
Mit NOW() wird dir das heutige Datum + die Uhrzeit zurückgegeben. Demnach würdest du nur den Eintrag löschen der jetzt gerade in der selben Sekunde erstellt worden ist .
Jetzt aber zur Antwort die du dir wünschst:
Du wolltest ja alle Datensätze löschen die heute erstellt worden sind. Okay nachdem dein erstes SQL-Statement dynamisch ist, sprich für jeden Tag funktionieren wird weil es immer den aktuellen Tag saugt, will ich dir das auch dementsprechend korrigiert als Antwort präsentieren =>
DELETE FROM `shorturl` WHERE DATE(`dateCreatet`) = CURDATE()
Das casten von DATETIME zu DATE unterstelle ich dir jetzt einfach mal das du nicht von dir aus wusstest^^. Denn wieso willst du da zwei Statements ausführen . Das zweite hätte ja schon gereicht .
Mit freundlichen Grüßen -
@master4860: Ich glaube, ich habe nicht geschrieben, ob, bzw. wie laex630s Befehle wirken. Somit lag ich nicht falsch. Aber ich muss zugeben, du hast richtig erkannt, dass ich die Umwandlung in DATE überlesen hatte, denn sonst hätte ich einfach den Befehl verbessert anstelle einen neuen Ansatzes zu Präsentieren.
Aber jetzt, da ich es nochmals genau durchlese:
Beide Befehle Funktionieren :D
Date(Now()) gibt schließlich auch nur das Datum (2015-09-22) aus.
So eine kleine Liste möglicher Befehle (ich schreibe nicht alle auf):
delete from shorturl where ...
...Date(dateCreated)=Date(Now())
...Date(dateCreated)='2015-09-22'
...dateCreated LIKE '2015-09-22%'
...Date(dateCreated) = CURDATE()
Das ist das schöne an SQL: Viele Wege um ans Ziel zu kommen. Je nachdem wie das Hirn am besten arbeitet. -
ja beide Befehle funktionieren nur wer castet denn NOW zu DATE wenn man dafür ja die Funktion CURDATE hat, welche exakt das wiedergibt was man benötigt
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage