Hola,
A ver, MySQL es muy permisivo con los tipos. Es capaz de interpretar una cadena como una fecha, siempre y cuando tenga un formato valido. Lo mismo que un entero. Y posiblemente la representacion interna de un campo date o datetime sea un varchar o un bigint. Pero, sinceramente, a modo de auto documentacion, ¿cual es mas explicativo?:
alta varchar(10),
o
alta date,
Yo creo que en el segundo quieres indicar la fecha de alta, mientras que no se que es lo que se quiere expresar en la primera.
jonk, revisa
http://www.mysql.com/doc/en/Date_and...functions.html . Hay hay funciones (DATE_ADD, DATE_SUB, ...) que te permiten crear un datetime sumando o restando horas, dias, ... a otro datetime.
Saludos.