gpt4 book ai didi

mysql - 如何转义用作列名的保留字? MySQL/创建表

转载 作者:IT老高 更新时间:2023-10-28 12:49:49 26 4
gpt4 key购买 nike

我从 .NET 中的类生成表,一个问题是一个类可能有一个字段名称 key 这是 MySQL 的保留关键字。如何在创建表语句中对其进行转义? (注意:下面的另一个问题是文本必须是固定大小才能被索引/唯一)

create table if not exists misc_info (
id INTEGER PRIMARY KEY AUTO_INCREMENT NOT NULL,
key TEXT UNIQUE NOT NULL,
value TEXT NOT NULL)ENGINE=INNODB;

最佳答案

如果 ANSI SQL mode 可以使用双引号已启用

CREATE TABLE IF NOT EXISTS misc_info
(
id INTEGER PRIMARY KEY AUTO_INCREMENT NOT NULL,
"key" TEXT UNIQUE NOT NULL,
value TEXT NOT NULL
)
ENGINE=INNODB;

或专有的反勾号以其他方式转义。 (this answer 中介绍了如何在各种键盘布局中找到 ` 字符)

CREATE TABLE IF NOT EXISTS misc_info
(
id INTEGER PRIMARY KEY AUTO_INCREMENT NOT NULL,
`key` TEXT UNIQUE NOT NULL,
value TEXT NOT NULL
)
ENGINE=INNODB;

(来源:MySQL Reference Manual, 9.3 Reserved Words)

关于mysql - 如何转义用作列名的保留字? MySQL/创建表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2889871/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com