Re: INSERT OR UPDATE?

Поиск
Список
Период
Сортировка
От Dean Gibson (DB Administrator)
Тема Re: INSERT OR UPDATE?
Дата
Msg-id 43494825.7070806@ultimeth.com
обсуждение исходный текст
Ответ на INSERT OR UPDATE?  (smorrey@gmail.com)
Список pgsql-general
Try (for simple cases):

  DELETE FROM my.table WHERE somecondition;
  INSERT INTO my.table (somefield) VALUES ('$someval');

In complex cases it may be necessary to INSERT the values into a
temporary table, which is then used to condition the DELETE before
INSERTing the temporary table into your permanent table.

One advantage of the above is that it works for multiple rows, whereas
your technique does not.

-- Dean

On 2005-10-08 23:15, smorrey@gmail.com wrote:

>Hello all,
>
>I am writing an app in PHP that uses a PostGres database.
>One thing i have noticed is that what should/could be a single line of
>SQL code takes about 6 lines of PHP.  This seem wasteful and redundant
>to me.
>
>Here is a sample of what I'm talking about ($db is a PDO already
>defined and created).
>
>$query[1] = "UPDATE my.table, SET somefield = '$someval' WHERE
>somecondition";
>$query[2] = "INSERT INTO my.table (somefield) VALUES ('$someval')";
>if(!$db->query($query[1])){
>    $db->query($query[2]);
>}
>
>What I'm curious to know is if there is some way to simplify this,
>either buy some PHP builtin or extension, or possibly something in SQL
>I am missing.  It seems to me that "UPDATE OR INSERT", should be valid,
>but I can't seem to find anything relevant at all about it.
>
>Anyways I hope you don't mind, but I'm crossposting this to
>pgsql.general and comp.lang.php to see if I can get some information on
>the subject.
>
>
>---------------------------(end of broadcast)---------------------------
>TIP 4: Have you searched our list archives?
>
>               http://archives.postgresql.org
>
>


В списке pgsql-general по дате отправления:

Предыдущее
От: "shakahshakah@gmail.com"
Дата:
Сообщение: Re: INSERT OR UPDATE?
Следующее
От: "Jim C. Nasby"
Дата:
Сообщение: Re: Oracle buys Innobase