mysql错误1064

e37o9pze  于 2021-07-26  发布在  Java
关注(0)|答案(1)|浏览(486)

你好,我正在数据库中创建一些表,当我试图保存时,它抛出了这个错误
1064-您的sql语法有错误;请查看与您的mysql服务器版本对应的手册,以获取正确的语法(接近“0”)not null, date_registered 日期时间不为空, last_login 时间戳不在第1行
这种错误以前在stackoverflow上已经调试过了,解决方法是删除timestamp列的长度。其他解决方案则建议从列标识符中删除引号或使用记号。不幸的是,我的datetime和timestamp列没有长度,并且我的列标识符周围有记号。
下面是我的sql语句的样子。有人能帮忙吗?

CREATE TABLE `inventoryman_db`.`users` 
( `id` INT NOT NULL AUTO_INCREMENT , 
`full_name` VARCHAR(255) NOT NULL , 
`email` VARCHAR(255) NOT NULL , 
`password` VARCHAR(300) NOT NULL , 
`usertype` ENUM(0) NOT NULL , 
`date_registered` DATETIME NOT NULL , 
`last_login` TIMESTAMP NOT NULL , 
`notes` VARCHAR(255) NOT NULL COMMENT 'For verification and other purposes, we will store a random key here' , 
PRIMARY KEY (`id`)) 
ENGINE = InnoDB;
cygmwpex

cygmwpex1#

尝试这样做,您只需要在enum('0')中添加引号,因为enum将其视为索引数组的字符串。

CREATE TABLE `percept`.`users1` ( `id` INT NOT NULL AUTO_INCREMENT , 
`full_name` VARCHAR(255) NOT NULL , `email` VARCHAR(255) NOT NULL ,
`password` VARCHAR(300) NOT NULL ,
`usertype` ENUM('0') NOT NULL ,
`date_registered` DATETIME NOT NULL , 
`last_login` TIMESTAMP NOT NULL , 
`notes` VARCHAR(255) NOT NULL COMMENT 'For verification and other purposes, we will store a random key here' , 
PRIMARY KEY (`id`)) ENGINE = InnoDB `

只需在枚举中添加引号

相关问题