为什么我不能用名称检查在mysql中创建表

为什么我不能用名称检查在mysql中创建表,mysql,Mysql,我想创建一个表检查,但我不知道为什么它不在名称检查中创建。我想如果我在命令中犯了任何错误,那么我就改为名称检查1并开始工作。我可以知道原因吗 CREATE TABLE check( name VARCHAR(100) NOT NULL, password VARCHAR(40) NOT NULL ); CREATE TABLE check1( name VARCHAR(100) NOT NULL, password VARCHAR(40) NOT NU

我想创建一个表检查,但我不知道为什么它不在名称检查中创建。我想如果我在命令中犯了任何错误,那么我就改为名称检查1并开始工作。我可以知道原因吗

CREATE TABLE check(
     name  VARCHAR(100) NOT NULL,
   password VARCHAR(40) NOT NULL

   );
CREATE TABLE check1(
     name  VARCHAR(100) NOT NULL,
   password VARCHAR(40) NOT NULL

   );


“CHECK”是保留字之一。

MySQL有一组保留字。支票就是其中之一


检查
是保留字

你可以把整个清单都查进去

编辑
为了改进我的答案(我将来可能需要检查它),根据@cja answer的信息,也可以将表名包装如下:

`check`

在这种情况下,名称不被视为保留字。

check在MySQL中是保留字

试一试


但是,如果您选择另一个名称,则会更容易。

check是mysql中的保留字,因此您无法创建名为“check”的表


检查约束用于限制可放置在列中的值范围。

@cja,我在我的帖子中提到了你的帖子,我不明白你为什么要删除该部分。
CREATE TABLE `check` (
  name VARCHAR(100) NOT NULL,
  password VARCHAR(40) NOT NULL
);