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

时间:2013-02-26 12:25:14

标签: mysql

我想创建一个表格检查,但我不知道为什么它不在名称check.I想我是否在命令中发生了任何错误,所以我改为名称check1及其工作。我知道原因此?

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

   );

enter image description here

5 个答案:

答案 0 :(得分:1)

check是保留字。

您可以在MySQL reserved words

中查看整个列表

修改
为了改进我的答案(我将来可能要检查它),并且来自@cja答案的信息,也可以像这样包装表名:

`check`

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

答案 1 :(得分:1)

check是MySQL中的保留字。

尝试

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

但是,如果您选择其他名称,它会更容易。

答案 2 :(得分:0)

答案 3 :(得分:0)

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

http://dev.mysql.com/doc/refman/5.0/en/reserved-words.html

答案 4 :(得分:0)

check是mysql中的保留字,所以你不能创建名为“check”的表

CHECK约束用于限制可以放在列中的值范围。