A mon avis, la requête ci-dessus est bonne, c'est juste que curdate() ne doit pas être en quotes (sinon c'est pas interprété, il essaie de mettre la string "curdate()" à la place
Du moins avec SQL Server, il ne faut pas de quotes à getdate() qui fait la même chose.
Sinon, aussi, pour des problèmes de droits assez zearb, il m'est arrivé d'être obligé de mettre "dbo." comme préfixe à la fonction getdate() avec SQL Server (dbo indique "DataBase Owner" ) mais je crois pas que MySQL gère ça du tout de la même manière.