当前位置:  开发笔记 > 后端 > 正文

如何在SQL中使用保留字作为表名?

如何解决《如何在SQL中使用保留字作为表名?》经验,为你挑选了1个好方法。

使用此查询时:

INSERT INTO order (order_quantity)
           VALUES ('50')

我收到一个错误:

您的SQL语法有错误; 查看与您的MariaDB服务器版本对应的手册,以便在第146行的'order(order_quantity)VALUES('50')附近使用正确的语法

我的查询有什么问题?



1> Cid..:

建议不要将保留字用作数据库,表,列,变量或其他对象名称.如果您希望使用保留字在ANSI标准语法中用作对象名,则必须将其括在双引号中以允许关系引擎(无论哪一个)将该单词用作对象而不是给定上下文中的关键字.

以下是一些特定于不同SQL引擎的示例:

order是一个SQL关键字,用于排序结果(ORDER BY ...)

如果您使用的是MySQL或Maria DB,请在其周围包裹反引号

INSERT INTO `order` (order_quantity) VALUES ('50');

如果您使用的是MS SQL Server,请在其周围括起括号

INSERT INTO [order] (order_quantity) VALUES ('50');

如果你使用的是pgSQL,请用它包围双引号

INSERT INTO "order" (order_quantity) VALUES ('50');

在示例中,没有(但常识)阻止您创建以具有列INSERT的表命名的数据库INTOVALUE(42)

在此输入图像描述

是的,这个查询有效:

USE [INSERT];
SELECT [INTO].[VALUE(42)] FROM [INTO];

推荐阅读
殉情放开那只小兔子
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有