<eikenb...@golze.de> wrote: > INSERT INTO auftragpos (orderno,position,item) VALUES > (testorder18,1,00123); > brings error: > FEHLER: Spalte *testorder18* existiert nicht (Column > *testorder18* not exists) > LINE 1: ...T INTO auftragpos (orderno,position,item) VALUES > (testorder1... > > But *testorder18* is a value, not a column-name!?!? > If there is a problem it should bring a message that the value for > column "orderno" has the wrong format. 'testorder18' is a literal value. Without the apostrophe quoting it is taken as an identifier, such as a column. It is entirely correct and appropriate for an error to be generated. The wording of the message could perhaps be adjusted to help the user understand their mistake more easily, since there are no columns in context from any table here; but the message is not actually wrong. Certain reserved words (such as CURRENT_DATE) would be allowed here, as would expressions of arbitrary complexity -- sub-selects, CASE predicates, functions, etc.; it would take a bit of work to sort out when something might be a malformed attempt at a literal versus a misspelled column name in a subquery. -Kevin
-- Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-bugs