Problemet er med formatet %h:%i:%s
Her, hvad der sker i 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 |
+--------------------------------------------------------+
Så det returnerer NULL og indsætter det, det går ikke, så du skal bruge formatet %H:%i:%s
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 |
+--------------------------------------------------------+
Til 10-09-1985 01:00:00
datoformatet er gyldigt med %h:%i:%s
så det virker.
Det er bedre at vælge datoformatet Y-m-d H:i:s
selv med inputdatoer, siden 10-09-1985 01:00:00
fortæller ikke, om dens AM eller PM og senere at lave datoberegninger bliver meget vanskelige.