语法错误 MYSQL 1064

Syntax Error MYSQL 1064

我在尝试创建一个我无法理解的 table 时遇到了这个错误。我会尽力解释它。

在 mysql 命令行中,我输入

CREATE TABLE index(references INT NOT NULL PRIMARY KEY AUTO_INCREMENT, name VARCHAR(600), description VARCHAR(2500));

它反复给我 1064 错误,告诉我 'index(references INT NOT N... name VARCHAR(5600), des' 附近的语法有问题。

我试过将 table 重命名为随机字母,认为这可能是名称,但没有,有任何想法吗?我真的很感激任何帮助,谢谢!

编辑:我的版本也支持超过 255 的 VARCHAR。 编辑 2:解决,重命名了几个数据类型名称和 table 名称 ^.^,感谢大家的帮助!

我知道这会成功。使用反引号。还有 varchar 的错字。

CREATE TABLE `index`
(   `references` INT AUTO_INCREMENT PRIMARY KEY, 
    `name` VARCHAR(600), 
    `description` VARCHAR(2500)
);

看看Mysql Reserved Words and Keywords

必须始终特别注意 link 中带有 (R) 的名称。他们需要反引号。更好的是,选择另一个 word/name。

编辑:回答您在下面的评论问题之一。

create table `table2`
(
    `id` int auto_increment primary key,
    `colB` decimal(12,2) not null
);

insert table2 (colB) values (3.14),(100);

select * from table2;
+----+--------+
| id | colB   |
+----+--------+
|  1 |   3.14 |
|  2 | 100.00 |
+----+--------+