使用 SQL 关键字列创建 SQL table

Create SQL table with SQL keyword column

我正在尝试使用名为 "lock" 的 SQL 关键字列创建 SQL table,但 "lock" 似乎是一个 SQL 关键字workbench 认为我想执行 "lock" 函数。

Create table A(
Lock Varchar(255)
);

*将 "Lock" 放入方括号 --> [lock] 对我不起作用。

您应该在保留字周围加上勾号 `:

Create table A(
   `Lock` Varchar(255)
);

You can find a good explanation about reserved words and the list of them here.

Certain objects within MySQL, including database, table, index, column, alias, view, stored procedure, partition, tablespace, and other object names are known as identifiers.

If an identifier contains special characters or is a reserved word, you must quote it whenever you refer to it.

你应该尽量避免使用这个词,有些人看到这个名字的代码可能会感到困惑。尝试为其添加一个逻辑名称,例如 TabName_Lock.

MySQL 使用 ` 字符转义对象名称:

Create table A(
    `Lock` Varchar(255)
);