2016-04-07 28 views
0

Ich muss das Datum jedes Ereignisses aufzeichnen. Ich habe diesen Tisch.Wie man Daten dynamisch in MySQL einfügt

Click here to view the table

NULL Plätze sind ein neues Datum zu speichern. Das X steht für das Datum, an dem das Ereignis aufgetreten ist.

Das Problem ist, ich weiß nicht, wie das Datum jedes Ereignis

Ich brauche zu aktualisieren zu wissen, die beste Option tritt auf, wenn Sie INSERT oder UPDATE querys verwenden.

Vielen Dank für Ihre Hilfe

+0

Verwenden Sie DATETIME() - Spalten? Haben Sie einen bestimmten Code, den wir uns ansehen können? –

+0

Sie speichern Ereignisdaten besser in einer Detailtabelle. –

Antwort

0

Wenn Sie nur eine Spalte in einer Tabelle mit der aktuellen Uhrzeit aktualisiert werden sollen:

UPDATE `yourtable` SET `yourcolumn` = NOW() WHERE `ID` = yourid 

Ihre Säulen sind DATETIME() Spalten Unter der Annahme.

Nebenbei ist es am besten, ereignisbezogene Informationen in einer anderen Beziehungstabelle zu haben. Auf diese Weise können Sie mehrere Ereignisse für jede Zeile in Ihrer Haupttabelle verknüpfen. Dies bietet einen genaueren Datenpfad für Abrechnungszwecke (mit anderen Worten, Sie können jedes Update sehen, ohne etwas zu überschreiben).

0

Wenn Sie eine ‚last_modified‘ Spalte auf dem Tisch zu haben, suchen Sie auf Ihre Einträge gemacht Spur von Änderungen, um zu helfen, sollten Sie dies tun:

ALTER TABLE my_table 
ADD last_modified TIMESTAMP 
    DEFAULT CURRENT_TIMESTAMP 
    ON UPDATE CURRENT_TIMESTAMP; 

Im Grunde, was es tut, ist ein hinzufügen Spalte 'last_modified', Legen Sie fest, dass es sich um einen Zeitstempel handelt, und aktualisieren Sie ihn mit dem aktuellen Zeitstempel, wenn eine Aktualisierung für den Datensatz vorliegt.

Verwandte Themen