相关疑难解决方法(0)

PostgreSQL中没有的EXISTS会出现语法错误

当尝试使用该WHERE NOT EXISTS子句来防止在列中添加具有重复值的行时age,我收到错误syntax error at or near "WHERE".

为什么会抛出语法错误?我正在使用Postgresql 9.1.

SQL

INSERT INTO live.users ("website", "age") 
values ('abc', '123')
WHERE NOT EXISTS (SELECT age FROM live.users WHERE age = 123);
Run Code Online (Sandbox Code Playgroud)

错误

ERROR:  syntax error at or near "WHERE"
LINE 6: WHERE NOT EXISTS (SELECT age FROM live.users W...
Run Code Online (Sandbox Code Playgroud)

sql postgresql postgresql-9.1

6
推荐指数
1
解决办法
2万
查看次数

将唯一值插入postgresql

我在postgresql中使用下面的命令创建一个表.

CREATE TABLE someTable (
    id serial primary key,
    col1 int NOT NULL,
    col2 int NOT NULL,
    unique (col1, col2)
);
Run Code Online (Sandbox Code Playgroud)

然后我执行2个插入语句.

  1. insert into someTable (col1,col2) values(1,11),(1,12);

    它的工作

  2. insert into someTable (col1,col2) values(1,13),(1,14),(1,11);

    得到错误(key(col1,col2)=(1,11)已经存在.

但我需要避免重复对.怎么可能?

我试试这个

x86_64-pc-linux-gnu上的PostgreSQL 9.5.0,由gcc编译的gcc(Ubuntu 4.8.2-19ubuntu1)4.8.2,64位和PostgreSQL 9.3,由gcc编译(Ubuntu 4.8. 2-19ubuntu1)4.8.2,64位

但我得到了错误

执行两个语句后我需要这样做.

(1,11),(1,12),(1,13),(1,14)
Run Code Online (Sandbox Code Playgroud)

sql sql-insert postgresql-9.3

5
推荐指数
1
解决办法
1150
查看次数