Java 您在上的SQL语法中有一个错误,无法使用near';加入日期、信用双(15,0)零填充、主键(id))和#x27;排队

Java 您在上的SQL语法中有一个错误,无法使用near';加入日期、信用双(15,0)零填充、主键(id))和#x27;排队,java,sql,terminal,mariadb,kali-linux,Java,Sql,Terminal,Mariadb,Kali Linux,您的SQL语法中有一个错误,无法在第行的“join date,credit DOUBLE(15,0)zerofill,PRIMARY KEY(id))”附近使用正确的语法 正如@GordonLinoff所说,默认情况下,列名(标识符)中不允许使用连字符(-)。但是,如果将标识符括在后面的记号中,则可以使用它,如: create table clients_info ( id MEDIUMINT NOT NULL AUTO_INCREMENT, name CHAR(30) NOT NULL

您的SQL语法中有一个错误,无法在第行的“join date,credit DOUBLE(15,0)zerofill,PRIMARY KEY(id))”附近使用正确的语法


正如@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)
);
或者最好使用下划线(
\uu
),以避免在任何地方使用反勾号,如:

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