【问题标题】:You have an error in your SQL syntax on for the right syntax to use near 'join-date DATE,credit DOUBLE(15,0) zerofill,PRIMARY KEY(id) )' at line [closed]您的 SQL 语法中有错误,以便在 [关闭]
【发布时间】:2020-06-27 13:36:57
【问题描述】:
create table clients_info (
  id MEDIUMINT NOT NULL AUTO_INCREMENT,
  name CHAR(30) NOT NULL,
  join-date DATE,
  credit DOUBLE(15,0) zerofill,
  PRIMARY KEY(id)
);

您的 SQL 语法有错误,以便在“join-date DATE,credit DOUBLE(15,0) zerofill,PRIMARY KEY(id) )' 行附近使用正确的语法

【问题讨论】:

  • 列名(或其他标识符)中不允许使用连字符,除非它们被转义。使用下划线 ('_')。

标签: java sql terminal mariadb kali-linux


【解决方案1】:

正如@GordonLinoff 所说,默认情况下,列名中不允许使用连字符 (-)(在 identifiers 中)。不过,如果将标识符括在反引号中,则可以使用它,如下所示:

create table clients_info (
  id MEDIUMINT NOT NULL AUTO_INCREMENT,
  name CHAR(30) NOT NULL,
  `join-date` DATE,
  credit DOUBLE(15,0) zerofill,
  PRIMARY KEY(id)
);

或者更好的是,使用下划线 (_) 来避免在任何地方使用反引号,例如:

create table clients_info (
  id MEDIUMINT NOT NULL AUTO_INCREMENT,
  name CHAR(30) NOT NULL,
  join_date DATE,
  credit DOUBLE(15,0) zerofill,
  PRIMARY KEY(id)
);

我个人更喜欢后者。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-12
    • 2015-07-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多