I'd use the first part of Corion's answer and combine it with LanX's answer (see above).

In other words, use Text::CSV_XS and use placeholders, but keep the RaiseError flag on and use it to jump out of an eval block. There, write away the failing incoming input-line into a separate .reject file, so that you can later review the rejected lines. Also count the total number of input-lines, good lines and bad lines so that at the end you can output a status line, so you'll know what has happened.

(COPY will be much faster but it is fickle and will fail outright when you have ANY bad input lines, even flagged CSV will fail. You could try it one time: if it does not fail, you have the speed; if it does fail, you redo by using the insert line-per-line, as explained above)


In reply to Re: Skip problematic lines while populating database by erix
in thread Skip problematic lines while populating database by Anonymous Monk

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.