一尘不染

在列名称中使用保留字

mysql

这是一些简单的代码,但我只是不知道为什么我不能使用这个词作为表的实体

CREATE TABLE IF NOT EXISTS users(
key INT PRIMARY KEY NOT NULL AUTO_INCREMENT,
username VARCHAR(50) NOT NULL,
);

我意识到如果我使用key,我将无法使用“ key”,mysql将要求我检查语法,但是如果我使用“ id”或任何其他表,将会创建该表。

有人知道如何将实体名称创建为密钥吗?这并不重要,因为我只能使用id而不是key,但是由于我发现了此错误,所以我不知道是否有办法使它起作用。


阅读 385

收藏
2020-05-17

共1个答案

一尘不染

您仍然可以使用key。只要用反引号包起来,

CREATE TABLE IF NOT EXISTS users
(
    `key` INT PRIMARY KEY NOT NULL AUTO_INCREMENT,
    username VARCHAR(50) NOT NULL,
);

但请注意,请勿使用任何保留关键字,以免将来出现问题。 :)

2020-05-17