为了账号安全,请及时绑定邮箱和手机立即绑定

MySQL语法错误Java表创建

MySQL语法错误Java表创建

眼眸繁星 2021-08-13 16:26:34
我有一个 java 文件,如果它确实存在,它会尝试创建一个表,每当我尝试运行该程序时,我总是会收到语法错误。CREATE TABLE IF NOT EXISTS `shirts` ( `id` INT NOT NULL AUTO_INCREMENT , `name` VARCHAR NOT NULL , `iid` INT NOT NULL , `desc` VARCHAR NOT NULL , `shelf` VARCHAR NOT NULL , `gender` VARCHAR NOT NULL , `chestsize` FLOAT(4,2) NOT NULL , `waistsize` FLOAT(4,2) NOT NULL , `seatsize` FLOAT(4,2) NOT NULL , `bicepsize` FLOAT(4,2) NOT NULL , `shirtlength` FLOAT(4,2) NOT NULL , `shirtwidth` FLOAT(4,2) NOT NULL , `sleevelength` FLOAT(4,2) NOT NULL , `collarsize` FLOAT(4,2) NOT NULL , `picture` LONGBLOB NOT NULL , `rented` BOOLEAN NOT NULL , PRIMARY KEY (`id`)) ENGINE = InnoDB;它是直接从 phpMyAdmin 复制的,但一直抛出错误说明:您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行的 'NOT NULL 、`iid` INT NOT NULL 、`desc` VARCHAR NOT NULL 、`shelf` VARCHAR NOT NU' 附近使用正确的语法对于我的生活,我不知道为什么。我的语法错误在哪里?完整的Java代码:public void createShirtsTable() {    String sql = "CREATE TABLE IF NOT EXISTS `shirts` ( `id` INT NOT NULL AUTO_INCREMENT , `name` VARCHAR NOT NULL , `iid` INT NOT NULL , `desc` VARCHAR NOT NULL , `shelf` VARCHAR NOT NULL , `gender` VARCHAR NOT NULL , `chestsize` FLOAT(4,2) NOT NULL , `waistsize` FLOAT(4,2) NOT NULL , `seatsize` FLOAT(4,2) NOT NULL , `bicepsize` FLOAT(4,2) NOT NULL , `shirtlength` FLOAT(4,2) NOT NULL , `shirtwidth` FLOAT(4,2) NOT NULL , `sleevelength` FLOAT(4,2) NOT NULL , `collarsize` FLOAT(4,2) NOT NULL , `picture` LONGBLOB NOT NULL , `rented` BOOLEAN NOT NULL , PRIMARY KEY (`id`)) ENGINE = InnoDB;";    try (Connection conn = this.connect();            Statement stmt = conn.createStatement()) {        stmt.execute(sql);        //System.out.println("Created Shirts Table"); --DEBUG    } catch (SQLException e) {        System.out.println(e.getMessage());    }}
查看完整描述

1 回答

?
侃侃尔雅

TA贡献1801条经验 获得超16个赞

要在 MySQL 中声明 varchar 字段,必须将最大长度作为参数传递


CREATE TABLE IF NOT EXISTS `shirts` 

     `id` INT NOT NULL AUTO_INCREMENT ,

     `name` VARCHAR(10) NOT NULL ,           --updated

     `iid` INT NOT NULL ,

     `desc` VARCHAR(10) NOT NULL ,           --updated

     `shelf` VARCHAR(10) NOT NULL ,          --updated

     `gender` VARCHAR(10) NOT NULL ,         --updated

     `chestsize` FLOAT(4,2) NOT NULL ,

     `waistsize` FLOAT(4,2) NOT NULL ,

     `seatsize` FLOAT(4,2) NOT NULL ,

     `bicepsize` FLOAT(4,2) NOT NULL ,

     `shirtlength` FLOAT(4,2) NOT NULL ,

     `shirtwidth` FLOAT(4,2) NOT NULL ,

     `sleevelength` FLOAT(4,2) NOT NULL ,

     `collarsize` FLOAT(4,2) NOT NULL ,

     `picture` LONGBLOB NOT NULL ,

     `rented` BOOLEAN NOT NULL ,

     PRIMARY KEY (`id`)


);

查看我的输出


    -> );

Query OK, 0 rows affected (0.04 sec)


MariaDB [test]> 


查看完整回答
反对 回复 2021-08-13
  • 1 回答
  • 0 关注
  • 152 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信