Hay una cosa que me intriga: ¿No has definido ninguna FK en el campo ID_user de la tabla mensajes?
Si estás usando tablas MyISAM, se comprende, porque simplemente no se puede (MyISAM no soporta FK), pero si estás usando tablas InnoDB, deberías, porque de esa forma te aseguras que no existan mensajes sin usuarios.
Como sea, si aún no has definido una Fk que otorgue esa restricción, la solución entonces sería:
En el primer caso estoy suponiendo que pueden llegar a ingresarse mensajes con ID_user como vacíos y no como NULL.