当前位置: 首页 > 知识库问答 >
问题:

错误1064(42000):您的SQL语法有错误;请查看与您的MariaDB服务器版本对应的手册,以了解要使用的正确语法

华宇
2023-03-14

我是数据库新手我有这个错误我正在使用MariaDB

错误1064(42000):您的SQL语法有错误;查看与您的MariaDB服务器版本对应的手册,了解第3行“hotel_name varchar(20),city varchar(10))附近使用的正确语法

另一个错误1064(42000):您的SQL语法有错误;请查看与您的MariaDB服务器版本对应的手册,以了解第1行“”附近要使用的正确语法

共有2个答案

朱鹏
2023-03-14

这个问题可能与你使用“数字(10)”有关。这不是有效的数据类型。请参见此处的MariaDB数据类型:https://www.mariadbtutorial.com/mariadb-basics/mariadb-data-types/

编辑:MariaDB也不允许#在标识符名称中。请参阅此处的有效标识符名称:https://mariadb.com/kb/en/identifier-names/

尉迟安民
2023-03-14

#字符是注释字符。在该注释之后直到行尾的任何字符都将被忽略。阅读https://mariadb.com/kb/en/comment-syntax/

因此:

create table hotel(
  hotel# number(10),
  hotel_name varchar(10)
  ...

在SQL解析器中显示为:

create table hotel(
  hotel
  hotel_name varchar(10)
  ...

这缺少数据类型和hotel列后的逗号。

如果用下面这样的倒勾分隔列名,则可以在列名中使用标点符号等特殊符号:

  `hotel#` int,

(也可以使用intnotnumber,因为后者不是MariaDB支持的数据类型。)

但每次在任何查询中引用该列时,都必须记住使用反勾号。如果可以的话,避免使用特殊字符会更简单。

这更容易:

  hotel_num int,
 类似资料: