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

问题描述 投票:0回答:2
我遇到了这个错误。 我正在使用 MariaDB。

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

另一个错误

ERROR 1064 (42000):您的 SQL 语法有错误;检查与您的 MariaDB 服务器版本相对应的手册,了解在第 1 行 '' 附近使用的正确语法

create table hotel( hotel# int(10), hotel_name varchar(20), city varchar(10) );
如何解决?

sql mariadb mysql-error-1064
2个回答
2
投票

#

字符是注释字符。该注释后面直到行尾的任何字符都将被忽略。阅读 
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,
(也使用 

int

 而不是 
number
,因为后者不是 MariaDB 支持的数据类型。)

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

这更容易:

hotel_num int,
    

0
投票
该问题可能与您使用“number(10)”有关。这不是有效的 MariaDB 数据类型。请参阅此处的 MariaDB 数据类型:

https://www.mariadbtutorial.com/mariadb-basics/mariadb-data-types/

编辑: MariaDB 也不允许在标识符名称中使用 #。请在此处查看有效的标识符名称:

https://mariadb.com/kb/en/identifier-names/

© www.soinside.com 2019 - 2024. All rights reserved.