Domanda

Sto usando lo strumento MySQL Admin GUI per creare una tabella. Ecco il linguaggio delle query che si traduce in un errore:

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

La mia data e ora non sono del formato Mi piace MySQL, quindi ho selezionato Varchar come tipo per quelle colonne e mi sono riferito come colonne di tenuta fino a quando non posso eseguire query per fare le conversioni necessarie.

Quando provo a eseguirlo tramite la GUI, ottengo quanto segue:

Errore eseguendo comandi SQL per creare la tabella.
Hai un errore nella sintassi SQL; Controlla il manuale che corrisponde alla versione del server MySQL per la sintassi giusta da utilizzare vicino a 'non null,
`time_holding` varchar non null,
`Open` reale non null,
`high` re 'alla riga 3 (errore 1064)

Qualche idea sul perché sto ottenendo questo? Ho controllato per vedere se sto usando parole riservate, ma non sembra essere il caso.

Il tuo aiuto sarebbe molto apprezzato.

È stato utile?

Soluzione

Il primo errore che hai è dovuto VARCHAR I campi hanno bisogno di una lunghezza come questa: VARCHAR(30).

Il secondo errore (otterrai se si fissa i 2 varchar) è la virgola prima dell'ultima parentesi.

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 a margine: sai che MySQL ha tipi specifici per gestire le date e gli orari, vero? Quindi potresti avere:

CREATE TABLE `environment`.`moisture` (
  `city_id` INT,
  `date_holding` date,
  `time_holding` time,
  ...
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top