Frage

Richtig. Ich war eine Last von Daten in einer MySQL-DB eingefügt und verwendet die folgende den Zeitstempel zu generieren:

$stamp = mktime($t[0], $t[1], $t[2], $d[2], $d[1], $d[0]);

Leider ist der Tag und Monat wurden gemischt, um, und unten ist der korrekte Zeitstempel.

$stamp = mktime($t[0], $t[1], $t[2], $d[1], $d[2], $d[0]);

Es ist etwa 5000 Datensätze. Was ist der einfachste Weg, um eine Bulk-Aktualisierung und Korrektur?

zu tun

Vielen Dank!

War es hilfreich?

Lösung

Hat die Datenbank-Engine ermöglicht es Ihnen unmöglich Daten einfügen, oder Sie haben keinen Termin mit dem Tag-Feld> 12

In jedem Fall können Sie wahrscheinlich fixieren Sie es mit einer Update-Anweisung, aber die Syntax ist abhängig von der Datenbank-Engine Sie verwenden.

Für MySQL verwenden Sie:

UPDATE myTable SET dateColumn = STR_TO_DATE(DATE_FORMAT(dateColumn, '%d-%c-%Y %T'), '%c-%d-%Y %T')

Andere Tipps

Sie können nicht. Als Erklärung, werde ich ein Beispiel:

Angenommen, Sie gemeint: 13. Tag, Monat 2, Jahr 1990 Aber das war zu lesen, wie: 2. Tag, Monat 13, Jahr 1990 Da die Monate im Jahr nur auf 12 steigen, würde dies als behandelt werden: 2. Tag, Monat 1, Jahr 1991

Aber wenn Sie gemeint: 1. Tag, Monat 2, Jahr 1991 Dies hätte lesen als: 2. Tag, Monat 1, Jahr 1991

Also, wenn Sie sehen, Tag 2, Monat 1 Jahr 1991 in der Datenbank, die aus kam es?

Das ist wie wenn man sagt, ich eine ganze Zahl quadriert, und das Ergebnis ist 36. Was habe ich mit beginnen, -6 oder 6?

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top