kostenloser Webspace werbefrei: lima-city


Datenbank phpmyadmin

lima-cityForumProgrammiersprachenSonstige Programmiersprachen

  1. Autor dieses Themas

    laex630

    laex630 hat kostenlosen Webspace.

    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
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. 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(=).
  4. laex630 schrieb:
    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
    Okay deine Frage wurde ja schon weitgehendst beantwortet, dennoch möchte ich noch etwas hinzufügen. Deine Frage war ja wie ich bereits zitierte :wink:.

    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 :prost:! 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 :wink:.


    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 :smile:. Das zweite hätte ja schon gereicht :thumb:.



    Mit freundlichen Grüßen
  5. @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.
  6. 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 :thumb:
  7. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!