Pregunta

Estoy usando la herramienta MySQL Admin GUI para crear una tabla. Aquí está el lenguaje de consulta que resulta en un error:

CREATE TABLE `environment`.`moisture` (
  `city_id` INT,
  `date_holding` VARCHAR,
  `time_holding` VARCHAR,
  `open` REAL,
  `high` REAL,
  `low` REAL,
  `close` REAL,
)
CHARACTER SET utf8;

Mi fecha y hora no son del formato que me gusta MySQL, así que seleccioné Varchar como el tipo de esas columnas y me referí a ellas como columnas de mantenimiento hasta que pueda ejecutar consultas para hacer las conversiones necesarias.

Cuando intento ejecutar esto a través de la GUI, obtengo lo siguiente:

Error a ejecutar comandos SQL para crear la tabla.
Tiene un error en su sintaxis SQL; Verifique el manual que corresponde a su versión del servidor MySQL para que la sintaxis correcta se use cerca de 'no nulo,
`Time_holding` Varchar no nulo,
`abierto 'real no nulo,
`High` re 'At Line 3 (Error 1064)

¿Alguna idea de por qué estoy obteniendo esto? He verificado para ver si estoy usando palabras reservadas, pero ese no parece ser el caso.

Tu ayuda sería muy apreciada.

¿Fue útil?

Solución

El primer error que tiene es debido a eso VARCHAR Los campos necesitan una longitud como esta: VARCHAR(30).

El segundo error (obtendrá si corrige los 2 varchars) es la coma antes del último paréntesis.

CREATE TABLE `environment`.`moisture` (
  `city_id` INT,
  `date_holding` VARCHAR(30),  --or whatever length you want
  `time_holding` VARCHAR(20),  --same
  `open` REAL,
  `high` REAL,
  `low` REAL,
  `close` REAL  --- no comma here
)
CHARACTER SET utf8;

Nota al margen: Sabes que MySQL tiene tipos específicos para manejar fechas y horarios, ¿no? Entonces podrías tener:

CREATE TABLE `environment`.`moisture` (
  `city_id` INT,
  `date_holding` date,
  `time_holding` time,
  ...
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top