【问题标题】:mysql forward engineering errormysql正向工程错误
【发布时间】:2014-12-22 16:57:48
【问题描述】:

我正在尝试建立一个数据库,但我得到了这个确切的错误。 这张表有问题吗?

错误:错误 1064:您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以获取在 '(4) NOT NULL 附近使用的正确语法, 主键 (seminarsID), INDEX fk_SEMINARS_ROOMS1_idx(第 10 行的`R'

SQL 代码:

        -- Table `CSY2028_13433571`.`SEMINARS`
        -- -----------------------------------------------------
        CREATE TABLE IF NOT EXISTS `CSY2028_13433571`.`SEMINARS` (
          `seminarsID` INT NOT NULL AUTO_INCREMENT,
          `ROOMS_roomsID` INT NOT NULL,
          `seminarName` VARCHAR(200) NOT NULL,
          `seminarDescription` LONGTEXT NOT NULL,
          `date` DATE NOT NULL,
          `time` TIME(4) NOT NULL,
          PRIMARY KEY (`seminarsID`),
          INDEX `fk_SEMINARS_ROOMS1_idx` (`ROOMS_roomsID` ASC),
          CONSTRAINT `fk_SEMINARS_ROOMS1`
            FOREIGN KEY (`ROOMS_roomsID`)
            REFERENCES `CSY2028_13433571`.`ROOMS` (`roomsID`)
            ON DELETE NO ACTION
            ON UPDATE NO ACTION)
        ENGINE = InnoDB

SQL 脚本执行完成:语句:7 条成功,1 条失败
以最终形式获取回视图定义。
没什么可取的

【问题讨论】:

    标签: mysql mysql-workbench


    【解决方案1】:

    TIME 不需要长度信息。所以只需使用

    TIME
    

    而不是

    TIME(4)
    

    【讨论】:

    • (不是我知道mysql,而是)时间列行后面的逗号也看起来不对(最好能解释一下错误信息)
    • 我看不出逗号有什么问题。而错误信息正是在(4),这表明我给出的解释
    • 好的。对我来说只是看起来很奇怪的语法(列列表遇到了主键等选项),但我尊重你的专业知识!
    • 一定是有其他问题。我尝试了 TIME 但得到了同样的错误
    • @Dany,在这里帮助我们。删除,比如说,主键行,看看错误是否消失,然后是索引、约束等。
    猜你喜欢
    • 1970-01-01
    • 2019-03-08
    • 2019-12-21
    • 1970-01-01
    • 2020-08-05
    • 2019-03-11
    • 1970-01-01
    • 2013-02-07
    • 2014-12-19
    相关资源
    最近更新 更多