多行插入失败

时间:2011-09-13 02:35:54

标签: postgresql insert multiline

我正在使用PostgreSQL 7.4.19。为什么我不能将基本的SQL语句用作INSERT? 我正在运行在线示例(来自博客'Faster INSERT for Multiple Rows'):

create table things (things_id serial primary key, thing text);
insert into things (thing) values ('thing nr. 0'),
('thing nr. 1'),
('thing nr. 2'),
('thing nr. 3');

当我运行它时,它会产生:

ERROR:  syntax error at or near ","
LINE 1: insert into things (thing) values ('thing nr. 0'),
                                                         ^

我做错了什么?

1 个答案:

答案 0 :(得分:1)

它适用于PostgreSQL 9.0,你的PostgreSQL版本是什么?

skytf=> create table things (things_id serial primary key, thing text);
NOTICE:  CREATE TABLE will create implicit sequence "things_things_id_seq" for serial column "things.things_id"

NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index "things_pkey" for table "things"
CREATE TABLE
skytf=> \d things
                               Table "skytf.things"
  Column   |  Type   |                         Modifiers                          
-----------+---------+------------------------------------------------------------
 things_id | integer | not null default nextval('things_things_id_seq'::regclass)
 thing     | text    | 
Indexes:
    "things_pkey" PRIMARY KEY, btree (things_id)

skytf=> insert into things (thing) values ('thing nr. 0'),
skytf-> ('thing nr. 1'),
skytf-> ('thing nr. 2'),
skytf-> ('thing nr. 3');
INSERT 0 4

skytf=> select version();
                                                      version                                                      
-------------------------------------------------------------------------------------------------------------------
 PostgreSQL 9.0.1 on x86_64-unknown-linux-gnu, compiled by GCC gcc (GCC) 4.1.2 20080704 (Red Hat 4.1.2-48), 64-bit
(1 row)