En SQL (y MySQL por extensión) todo valor de tipo cadena de caracteres debe ir entre apóstrofes para ser interpretado como tal... de la misma forma que elPHP se usan las comillas parea encerrar textos:
Código MySQL:
Ver originalINSERT INTO main
(tmax
, tmin
, vwind
, dwind
, rain
, presion
, hum
, lmoon, smoon, pmoon, ssun, psun, `date`,` time`, place, skystate, snow )
VALUES ( 5, 0, 14, 'N', '11_4', '1018_5', 89, '6_', '6-49h_', '16-38h_', '08-20h_', '17-31h_', '03-12-2010', '11-06-35', 'berriz', 'Cielos_nubosos_con_lluvia_moderada', 400)
Hay varias observaciones necesarias:
1) No uses palabras reservadas para los nombres de las columnas, tales como DATE o TIME.
En esos dos casos, por ejemplo, son tipos de dato y el parser de MySQL puede generar errores de sintaxis. Todos los lenguajes, y el SQL no es una excepción, prohiben el uso de palabras reservadas como nombres de objetos.
Si aún así los quieres usar, el SQL te lo admite si los encierras entre acentos inversos (`).
2) Los tipos de columna DATE, TIME o DATETIME requieren que el formato del dato cumpla ciertos estándares: aaaa-mm-dd para el año y HH:mm:ss para las horas. En tre tus valores parece haber fechas y horas tratadas como cadenas de texto, lo cual es un error, porque luego tendrás que hacer extrañas conversiones para que una consulta los interprete correctamente.
¿Cómo tienes definidos los campos de esa tabla?