2016-07-16 6 views
1

Ich habe derzeit eine MySQL-Datenbank, in der ich Daten über gemietete Bücher aufbewahre. Wenn jemand ein Buch mietet, speichere ich in der Datenbank ein Ablaufdatum.Erstelle ein mysql-Ereignis mit der Bedingung

Also, ich möchte ein mysql-Ereignis erstellen, um den Buchstatus zu aktualisieren, wenn es nicht rechtzeitig zurückgegeben wird. Wie kann ich dieses Ereignis erstellen?

Hier ist, was ich versuche:

CREATE EVENT `EXPIRAR` ON SCHEDULE EVERY 1 
HOUR STARTS '2016-07-16 00:00:00.000000' ENDS '2018-07-29 
00:00:00.000000' ON COMPLETION NOT PRESERVE ENABLE DO DO IF 
mtl_aluguel.dataLimite=CURRENT_DATE THEN 
     UPDATE mtl_aluguel SET mtl_aluguel.estado='Expirou' 
    END IF 

Aber ich bin immer Syntaxfehler auf der IF.

mtl_aluguel ist der Name meiner Tabelle.

+0

Ihr Ereignis macht keinen Sinn. Lesen Sie weiter, wie Sie Daten aus Tabellen oder anderem erhalten. Ich habe 3 Links neben meiner Profilseite für Event-Sachen. Vielleicht werden sie helfen (der erste ist ziemlich fortgeschritten). Vergiss das für jetzt. Die 2. und 3. sind ziemlich einfach und Dinge, die Sie wissen müssen, um das Ding zu feuern oder Ihnen Zeit und Ärger zu sparen. Beachten Sie, dass in günstigen Hosting-Plänen Ereignisse in der Regel nicht verfügbar sind. – Drew

Antwort

1

Wie @Drew sagte, macht mein Ereignis keinen Sinn. Also habe ich es aktualisiert:

CREATE EVENT `EXPIRAR` ON SCHEDULE EVERY 1 
HOUR STARTS '2016-07-16 00:00:00.000000' ENDS '2018-07-29 
00:00:00.000000' ON COMPLETION NOT PRESERVE ENABLE DO UPDATE mtl_aluguel SET mtl_aluguel.estado='Expirou' WHERE mtl_aluguel.dataLimite = CURDATE() AND mtl_aluguel.estado!= 'Expirou' 
Verwandte Themen