【问题标题】:SQL syntax error while creating table in MariaDB在 MariaDB 中创建表时出现 SQL 语法错误
【发布时间】:2021-09-19 16:12:20
【问题描述】:

使用此代码在 Mariadb 中创建表时

CREATE TABLE classes(
    ClassID SMALLINT UNSIGNED PRIMARY,
    Grade TINYINT UNSIGNED,
    Subject VARCHAR(20),
    YearTaught YEAR
);

我收到了这个错误。

#1064 - 您的 SQL 语法有错误;检查与您的 MariaDB 服务器版本相对应的手册,以获取在 ' 附近使用的正确语法 TINYINT 等级未签名, 主题 VARCHAR(20), 教学年 )' 在第 2 行

而且我不知道语法有什么问题。谢谢。

【问题讨论】:

  • ClassID SMALLINT UNSIGNED PRIMARY KEY 另外,名称不区分大小写,更常见的是使用蛇形大小写而不是骆驼形大小写。 year_taught 而不是 YearTaught
  • @RaulSauco 现在可以使用了。谢谢你的帮助!!!
  • 很高兴听到它有帮助。如果这解决了您的问题,那么该评论应该是一个答案,我将重新发布。如果它帮助您考虑marking it accepted 和/或up-voting it

标签: sql mariadb


【解决方案1】:

您的声明中缺少关键字KEY,更新

ClassID SMALLINT UNSIGNED PRIMARY,

ClassID SMALLINT UNSIGNED PRIMARY KEY,

您可以使用KEY 代替PRIMARY KEY,但不仅仅是PRIMARY

使用 PRIMARY KEY(或只是 KEY)使列成为主键。主键是一种特殊类型的唯一键。每张表最多可以有一个主键,并且默认为 NOT NULL。

documentation is here

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-05-03
    • 1970-01-01
    • 2012-04-10
    • 2021-10-09
    • 1970-01-01
    • 1970-01-01
    • 2022-01-22
    • 1970-01-01
    相关资源
    最近更新 更多