解决引号的使用错误1064(42000):SQL语法有错误;检查与您的MySQL服务器版本相对应的手册以使用正确的语法?

在MySQL中,可以使用两种不同类型的引号,即反引号和另一种是单引号或双引号。在这种情况下,也许您对列名使用了单引号,这就是为什么会出错。您需要使用反引号(``)而不是单引号。Backtick可以与列名一起使用,而单引号可以用于字符串。

要了解上述错误,让我们创建一个表。创建表的查询如下-

mysql> create table Backtick_SymbolDemo
   -> (
   -> Id int NOT NULL AUTO_INCREMENT,
   -> Name varchar(20),  
   -> FileName varchar(30),
   -> PRIMARY KEY(Id)
   -> );

如果我们在列周围使用单引号而不是反引号,则会发生错误,如下所示。在这里,我们插入了一个带有单引号的值,并且该错误可见-

mysql> insert into Backtick_SymbolDemo(`Name`,'FileName') values('John','Sum.cpp');
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''FileName') values('John','Sum.cpp')' at line 1

为避免此错误,请在所有列名周围使用反引号,或者不要同时使用反引号或单引号。

插入记录的查询如下。这是在两个列名周围使用反引号的方式。

mysql> insert into Backtick_SymbolDemo(`Name`,`FileName`) values('John','Sum.cpp');

这是不使用反引号的插入记录。查询如下-

mysql> insert into Backtick_SymbolDemo(Name,FileName) values('Larry','SocketProgram.java');
mysql> insert into Backtick_SymbolDemo(Name,FileName) values('Mike','UserCreationScript.sql');

使用select语句显示表中的所有记录。查询如下-

mysql> select *from Backtick_SymbolDemo;

以下是输出-

+----+-------+------------------------+
| Id | Name  | FileName               |
+----+-------+------------------------+
|  1 | John  | Sum.cpp                |
|  2 | Larry | SocketProgram.java     |
|  3 | Mike  | UserCreationScript.sql |
+----+-------+------------------------+
3 rows in set (0.00 sec)