簡體   English   中英

mySQL表創建失敗 - 錯誤1064

[英]mySQL table creation fails - error 1064

我正在使用mysql管理GUI工具來創建表。 以下是導致錯誤的查詢語言:

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

我的日期和時間不是mysql喜歡的格式,所以我選擇VARCHAR作為這些列的類型,並將它們稱為保留列,直到我可以運行查詢來進行必要的轉換。

當我嘗試通過GUI執行此操作時,我得到以下內容:

執行SQL命令以創建表時出錯。
您的SQL語法有錯誤; 檢查與MySQL服務器版本對應的手冊,以便在'NOT NULL附近使用正確的語法,
`time_holding` VARCHAR NOT NULL,
`open` REAL NOT NULL,
第3行的'high`RE'(錯誤1064)

知道為什么我得到這個嗎? 我已經檢查過我是否使用了任何保留字,但似乎並非如此。

非常感謝您的幫助。

您遇到的第一個錯誤是由於VARCHAR字段需要這樣的長度: VARCHAR(30)

第二個錯誤(如果修復2個varchars,則會得到)是最后一個括號之前的逗號。

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;

旁注:你知道MySQL有特定的類型來處理日期和時間,不是嗎? 所以你可以:

CREATE TABLE `environment`.`moisture` (
  `city_id` INT,
  `date_holding` date,
  `time_holding` time,
  ...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM