使用此查询时:
INSERT INTO order (order_quantity)
VALUES ('50')
我收到错误:
您的 SQL 语法有错误;检查手册 对应于您的 MariaDB 服务器版本,以便使用正确的语法 第 146 行的“order (order_quantity) VALUES('50')”附近
我的查询有什么问题吗?
不建议使用保留字作为数据库、表、列、变量或其他对象名称。如果您希望使用保留字作为 ANSI 标准语法中的对象名称,则必须将其括在双引号中,以允许关系引擎(无论是哪个)将该字用作对象而不是用作给定上下文中的关键字。
以下是针对不同 SQL 引擎的一些示例:
order
是一个SQL关键字,用于对结果进行排序(ORDER BY ...
)
,请用反引号括起来
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
的数据库,其中表 INTO
具有列 VALUE(42)
是的,这个查询有效:
USE [INSERT];
SELECT [INTO].[VALUE(42)] FROM [INTO];