Ich habe ein Feld appointment_date
und appointment_time
und der Datentyp ist date
bzw. time
. Der Tabellenname lautet appointment
. Was unser Lehrer wollte, war in der Lage, nur dann einen Termin hinzuzufügen, wenn er größer oder gleich current_date
oder current_time
ist. Ich bin ziemlich verwirrt mit, wie getdate()
, sysdate()
, dateadd()
oder irgendwelche DATE-Funktionen arbeiten. Hoffe, du kannst mir helfen. Vielen Dank.Datum und Uhrzeit nur einfügen wenn> = Aktuelles Datum
Antwort
Wenn Sie sich mit der Zeit/Datumsfunktionen verloren gehen, gibt es eine große Dokumentation mit MySQL im Netz, überprüfen Sie es hier heraus: Date and time functions
In Anbetracht der Tatsache, dass MySQL nicht eine bedingte INSERT-Anweisung hat, Ich würde empfehlen, alle möglichen Überprüfungen der Werte durchzuführen, die Sie einfügen möchten, bevor Sie eine einfache Einfügung ohne bedingte Überprüfung vornehmen.
Die Syntax ': varName' ist die JCBD-Vorlagensyntax. Sie enthält die Werte, die Sie zuweisen möchten. Dies sollte an die Art und Weise angepasst werden, wie Sie Werte in Ihre SQL-Abfrage einfügen. –
Danke für den Vorschlag. Wie fügen Sie diese in MySQL ein, wenn es Ihnen nichts ausmacht? – Jin
In mysql kann die on -Klausel nur 'bei der doppelten Schlüsselaktualisierung' haben, Sie können dort keine solchen Prüfungen durchführen. – Shadow
In sql können Sie solche Logik mit einer check constraint erzwingen, leider implementiert mysql diese Art von Einschränkung noch nicht. Das bedeutet, dass Sie entweder die Bedingung in der Anwendung selbst überprüfen müssen, bevor Sie eine insert-Anweisung aufrufen, oder Sie müssen a stored procedure erstellen, um die erwarteten Ergebnisse zu erzielen.
In beiden Lösungen ist die Logik einfach: Mit einer if-Bedingungsanweisung überprüfen Sie, ob der Wert, den Sie einfügen möchten, größer ist als das aktuelle Datum oder die Zeit (es ist tatsächlich ziemlich wichtig, mit dem Sie es vergleichen).
Die dritte Lösung besteht darin, einen Trigger vor dem Einfügen zu erstellen und eine SQL-Fehlernachricht mit signal daraus zu erstellen, um das Einfügen des Datensatzes zu verhindern.
Okay. Ich werde deine Vorschläge versuchen. Danke :) Ich bin irgendwie neu in diesem Ding. – Jin
- 1. aktuelles Datum und Uhrzeit erhalten
- 2. Aktuelles Datum und Uhrzeit als String
- 3. Jmeter - aktuelles Datum und Uhrzeit erhalten
- 4. Aktuelles Datum und Uhrzeit vergleichen iOS
- 5. Mysql/Php - Aktuelles Datum und Uhrzeit
- 6. Erhalten Sie Aktuelles Datum und Uhrzeit mit [NSDate Datum]
- 7. Nur aktuelles Datum/Uhrzeit bei SQL Server-Einfügung zulassen
- 8. Ersten Aktuelles Datum, Uhrzeit, Tag in Laravel
- 9. Einfügen von Datum und Uhrzeit in Mysql
- 10. Wie Aktuelles Datum Zeit
- 11. Django - aktuelles Datum und Uhrzeit in Vorlage anzeigen
- 12. Wie aktuelles Datum und Uhrzeit in Schienen automatisch übernommen werden
- 13. aktuelles Datum als Datum Objekt
- 14. Aktuelles Datum in Visual Studio Snippet einfügen
- 15. Analysezeit, Datum/Uhrzeit oder Datum
- 16. Datum und Uhrzeit Formatierungsfehler
- 17. Datum und Uhrzeit hinzufügen
- 18. Datum und Uhrzeit kompilieren
- 19. PHP Uhrzeit und Datum
- 20. Aktuelles Datum in Thymeleaf erhalten
- 21. Datum/Uhrzeit in Access-Datenbank einfügen
- 22. Angularjs - aktuelles Datum anzeigen
- 23. Bootstrap Datum und Uhrzeit Picker
- 24. fecha.js - Datum/Uhrzeit, spezifische Uhrzeit
- 25. Datum und Zeitstempel einfügen, vbs
- 26. Erstes Datum und Uhrzeit Swift
- 27. Wie aktuelles Datum/Uhrzeit als Datumsobjekt in PHP zu bekommen
- 28. FPDF aktuelles Datum inkorrekt
- 29. Aktuelles Datum + 2 Monate
- 30. Sortierliste nach Datum und Uhrzeit
Sie müssen wahrscheinlich einen Trigger für tis schreiben. Hast du davon erfahren? –
Ja, wir haben Auslöser angesprochen. Ich bin meistens mit der Syntax in MySQL verwirrt. Trotzdem danke. – Jin