Search Postgresql Archives

Re: Multi-row insert: error at terminal row.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 10/29/20 9:35 AM, Rich Shepard wrote:
On Thu, 29 Oct 2020, Paul Förster wrote:

insert ...
(
   (v1, v2, v3),
   (v4, v5, v6),
   (v7, v8, v9)    <= this is the bracket pair that Emacs shows as matching.
);     <= this is the missing bracket.

Paul/Adrian/Tom:

First thing I did was look at the postgres 12 manual. On page 155 I see:

You can insert multiple rows in a single command:
INSERT INTO products (product_no, name, price) VALUES
     (1, 'Cheese', 9.99),
     (2, 'Bread', 1.99),
     (3, 'Milk', 2.99);

Which is what I have. There are no extra parentheses enclosing multiple rows
of VALUES. But, adding them makes no difference: same error reported.

If you did something like:

INSERT INTO products (product_no, name, price) VALUES
    (
    (1, 'Cheese', 9.99),
    (2, 'Bread', 1.99),
    (3, 'Milk', 2.99)
);

then you should have gotten a different error. Something like:

ERROR: column "product_no" is of type integer but expression is of type record

I'm going to say the issue is more like what David posted, an escaping problem in the data. Not sure how many rows you are dealing with, but it might be helpful to break them down into smaller batches to isolate the problem.



Thanks,

Rich




--
Adrian Klaver
adrian.klaver@xxxxxxxxxxx





[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]

  Powered by Linux