在创建名称为“ index”的表列时,修复MySQL语法错误?

您不能将索引用作列名,因为它是保留字。为此,您需要在列名前后使用反引号。

如果您将保留字用作列名,则会看到以下错误-

mysql> create table DemoTable
   -> (
   -> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
   -> index int
   -> )ENGINE=MyISAM;
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 'int )ENGINE=MyISAM' at line 4

让我们首先创建一个表。在这里,我们使用保留字索引作为列名,但是用反引号将其括起来不会产生错误-

mysql> create table DemoTable
   -> (
   -> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
   -> `index` int
   -> )ENGINE=MyISAM;

使用插入命令在表中插入一些记录-

mysql> insert into DemoTable(`index`) values(4);
mysql> insert into DemoTable(`index`) values(8);
mysql> insert into DemoTable(`index`) values(12);

使用select语句显示表中的所有记录-

mysql> select *from DemoTable;

这将产生以下输出-

+----+-------+
| Id | index |
+----+-------+
|  1 |     4 |
|  2 |     8 |
|  3 |    12 |
+----+-------+
3 rows in set (0.00 sec)