Het probleem is met het formaat %h:%i:%s
Dit gebeurt er in mysql
mysql> select str_to_date('10-09-1985 00:00:00','%d-%m-%Y %h:%i:%s');
+--------------------------------------------------------+
| str_to_date('10-09-1985 00:00:00','%d-%m-%Y %h:%i:%s') |
+--------------------------------------------------------+
| NULL |
+--------------------------------------------------------+
Dus het geeft NULL terug en bij het invoegen gaat het niet, dus je moet het formaat %H:%i:%s
gebruiken
mysql> select str_to_date('10-09-1985 00:00:00','%d-%m-%Y %H:%i:%s');
+--------------------------------------------------------+
| str_to_date('10-09-1985 00:00:00','%d-%m-%Y %H:%i:%s') |
+--------------------------------------------------------+
| 1985-09-10 00:00:00 |
+--------------------------------------------------------+
Voor 10-09-1985 01:00:00
het datumformaat is geldig met %h:%i:%s
dus het werkt.
Het is beter om het datumformaat te kiezen Y-m-d H:i:s
zelfs met de invoerdatums, sinds 10-09-1985 01:00:00
vertelt niet of het AM of PM is en later datumberekeningen erg moeilijk worden.