当使用此查询:
INSERT INTO order (order_quantity)
VALUES ('50')
我出现了一个错误:
你的SQL语法有误,请查看与你的MariaDB服务器版本相对应的手册,以获取正确使用语法,位于第146行附近,应该是这里:order (order_quantity) VALUES('50')
我的查询有什么问题?
当使用此查询:
INSERT INTO order (order_quantity)
VALUES ('50')
我出现了一个错误:
你的SQL语法有误,请查看与你的MariaDB服务器版本相对应的手册,以获取正确使用语法,位于第146行附近,应该是这里:order (order_quantity) VALUES('50')
我的查询有什么问题?
不建议将保留字用作数据库、表、列、变量或其他对象名称。如果您需要在 ANSI 标准语法中使用保留字作为对象名称,则必须将其用双引号括起来,以便关系引擎(无论是哪个)知道该单词正在被用作对象而不是给定上下文中的关键字。
下面是特定于不同 SQL 引擎的一些示例:
order
是一个 SQL 关键字,用于对结果进行排序 (ORDER BY ...
)
如果您使用 MySQL 或 Maria DB, 请使用反引号 (backticks) 将其括起来。
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
的数据库,并在其中创建一个包含列VALUE(42)
的表INTO
。
是的,这个查询有效:
USE [INSERT];
SELECT [INTO].[VALUE(42)] FROM [INTO];
ORDER
),有些不是(例如DESC
)- 根据ANSI SQL。然而,产品可能有其他一组保留字。 - jarlh