如何INSERT到名称为sql关键字的列

Kur*_*urt 19 sql insert

我需要一个存储键值对的表,所以我创建了一个名为"Key"的列和一个名为"Value"的列.

这失败了:

insert into mykeyvalues (Key,Value) values ('FooKey', 'FooValue')
Run Code Online (Sandbox Code Playgroud)

"关键字'key'附近的语法不正确."

也许我不应该把它称为"密钥",但我只是想知道是否可以使用名称为sql关键字的列?

谢谢

Joh*_*sen 30

您可以使用[]括号括起列名称.因此:

insert into mykeyvalues ([Key],[Value]) values ('FooKey', 'FooValue')
Run Code Online (Sandbox Code Playgroud)


Jam*_*ore 14

在查询中的标识符周围使用反引号(`)或双引号(").例如:

INSERT INTO mykeyvalues ("Key", "Value") values ('FooKey', 'FooValue')
Run Code Online (Sandbox Code Playgroud)

但从长远来看,这只会降低可移植性.使用不同的名称更容易.