我是一个对于postgres非常陌生的人。这个问题看起来非常简单,但我就是看不出错在哪里。
我创建了一个如下所示的表:
CREATE TABLE IF NOT EXISTS t(
tn VARCHAR(30) NOT NULL,
PRIMARY KEY(tn)
);
如果实例不存在,我希望插入一个实例。以下是我的代码:
INSERT INTO t (tn)
VALUES
(SELECT 'q' WHERE NOT EXISTS (SELECT * FROM t WHERE tn = 'q')) ;
而且psql控制台一直给我报错
ERROR: syntax error at or near "SELECT"
我已经逐个检查了每一段代码,例如这两个
SELECT 'q' WHERE NOT EXISTS (SELECT * FROM t WHERE tn = 'q');
and
INSERT INTO t (tn) VALUES ('p');
这些代码单独运行没有错误。但当我将它们放在一起时,就出现了错误。
有人知道我哪里出错了吗..?