首页 > 解决方案 > 您的 SQL 语法中存在错误,以便在“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)
);

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

标签: javasqlterminalmariadbkali-linux

解决方案


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

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)
);

我个人更喜欢后者。


推荐阅读