在某些SQL方言中,方括号中的标识符有特殊的语义。在SQLite中,将标识符括在方括号中有什么效果?
例如,SQLite(至少从3.40.1开始)接受以下表格定义。
CREATE TABLE [Banana] (
[Weight] REAL NOT NULL,
[Color] TEXT DEFAULT 'yellow' NOT NULL,
[Ripe] BOOLEAN NOT NULL DEFAULT 1
);
然后可以插入并选择香蕉:
INSERT INTO [Banana] ([Weight]) VALUES (1.0), (2.0), (3.0);
SELECT * FROM [Banana];
1条答案
按热度按时间arknldoa1#
方括号 * 转义 * 数据库标识符,如表名。例如,如果要使用保留的SQLite关键字(如
TABLE
)命名表,则可以将名称转义到方括号中:在SQLite的早期版本中,您可以使用双引号来实现相同的目的:
请注意,一般情况下,您应该避免这种命名方案,因为您将永远不得不对表名进行转义。