Ich arbeite mit einem Zeitstempel aus Anwendungsprotokolle im Format von "Apr 28 09:54:46", das ist das Format des Werts in NEW.timestamp unten. Versuchen, mit einem Trigger vor dem Einfügen in der folgenden Weise zu analysieren.mysql str_to_date innerhalb vor dem Einfügen Trigger
CREATE DEFINER=`xxxxx`@`%`
TRIGGER `<trigger_name>`
BEFORE
INSERT ON `<table_name>` FOR EACH ROW
SET NEW.timestamp = STR_TO_DATE('NEW.timestamp', '%d %b %Y %H:%i:%S'), NEW.Id = UUID();
Dies gibt einen Nullwert zurück. Wenn jemand etwas Licht darauf werfen könnte, würde es sehr geschätzt werden.
Wenn Sie es vor dem Einfügen nach dem Einfügen geändert haben, haben Sie das gleiche Problem? –
Das Format des Zeitstempels ist was es ist, dann versteht MySQL das nicht als Datetime, was die Definition des Feldes ist. Daher kann ich die Daten nicht einfügen, um nach dem Einfügen eine Operation auszuführen. – khitman