Я пытаюсь вставить значения в базу данных, используя подготовленные операторы, но иногда мне нужно для определенного значения вставить литерал 'DEFAULT', как мне это сделать?
CREATE TABLE test (id int, firstname text default 'john', lastname text default 'doe');
Эточто я хочу сделать, но затем использовать подготовленное утверждение:
insert into test (id, firstname, lastname) VALUES ('1', DEFAULT, DEFAULT);
Но это приводит к ошибке (по понятным причинам):
PREPARE testprep (integer, text, text) AS INSERT INTO test (id, firstname, lastname) VALUES ($1, $2, $3);
EXECUTE testprep('1',DEFAULT,DEFAULT);
Ошибка:
ERROR: syntax error at or near "DEFAULT"
Оба примера, которые я создал с помощью SQL-Fiddle:
http://sqlfiddle.com/#!15/243ae/1/0
http://sqlfiddle.com/#!15/243ae/3/0