使用此查询时:
INSERT INTO order (order_quantity) VALUES ('50')
我收到一个错误:
您的SQL语法有错误; 查看与您的MariaDB服务器版本对应的手册,以便在第146行的'order(order_quantity)VALUES('50')附近使用正确的语法
我的查询有什么问题?
建议不要将保留字用作数据库,表,列,变量或其他对象名称.如果您希望使用保留字在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
的表命名的数据库INTO
VALUE(42)
是的,这个查询有效:
USE [INSERT]; SELECT [INTO].[VALUE(42)] FROM [INTO];