2016-03-26 6 views
0

Ich bin damit beschäftigt, einen Kalender für den persönlichen Gebrauch zu erstellen, und ich frage mich, ob ich den Wert für das Startdatum auf das Enddatum beschränken kann (oder anders herum), indem ich a Einschränkung für die Tabelle Felder selbst.Enddatum vor dem Startdatum einschränken MYSQL

Ich möchte dies beim Erstellen der Tabelle tun.

Antwort

1

MySQL implementiert keine Prüfbedingungen. Um das zu tun, was Sie fragen, müssen Sie einen Trigger implementieren.

Aber es kann einen anderen Weg geben, nur durch die Überarbeitung des Problems. Anstatt das Enddatum zu speichern, speichern Sie die Anzahl der Tage - als vorzeichenlosen Wert. Dann wissen Sie immer, dass das Enddatum am oder nach dem Startdatum liegt.

Anschließend können Sie eine Ansicht erstellen das tatsächliche Enddatum zu berechnen:

create view v_t as 
    select t.*, date_add(start_date, interval dur day) as end_date 
    from t; 
+0

ich sehe, und was ist, wenn ich eine Start- und Endzeit auch hinzufügen, war? – Jelmergu

+0

@Jelmergu. . . Wenn Sie eine andere Frage haben, sollten Sie sie als Frage stellen, nicht in einem Kommentar. –

Verwandte Themen