[英]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.