【发布时间】:2021-03-28 20:52:34
【问题描述】:
执行以下 2 个查询时:
INSERT INTO Orders (CustomerID)
OUTPUT INSERTED.OrderID
VALUES ('1');
INSERT INTO Orders (CustomerID)
OUTPUT INSERTED.*
VALUES ('1');
我得到以下异常:
org.postgresql.util.PSQLException: ERROR: "OUTPUT" 处或附近的语法错误
Orders 表是使用以下工具创建的:
CREATE TABLE Orders
(
OrderID SERIAL PRIMARY KEY,
CustomerID int NOT NULL,
FOREIGN KEY (CustomerID) REFERENCES Customers(CustomerID)
);
我做错了什么?谢谢
【问题讨论】:
-
Postgres 有
OUTPUT吗?我以为它使用了RETURNING。 -
请注意
'1'是一个字符串,而不是一个整数值。跳过引用,如果 ID 列数据类型是整数,只需执行VALUES (1);。
标签: sql postgresql sql-insert