Im конвертирует мое приложение php для работы с postgresql вместо mysql.Обновление postgresql, если ключ существует с php
Прежде чем я имел эту функцию с помощью PDO:
$stmt = $db->prepare("INSERT INTO $table(id,name,info) VALUES(:id,:name,:info) ON DUPLICATE KEY UPDATE name=:name,info=:info");
$stmt->execute(array(':id' => $id, ':name' => $name, :info' => $info));
Если ключ не существует, он создает новую запись, или же он обновляет запись.
Как можно сделать то же самое с postgresql?
Я прочитал несколько статей, но никто не знает, что я должен делать. Мне нужно написать триггер или правило для этого?
Или я пишу проверку php, если существует запись/id, и определить, следует ли обновлять или создавать новые?
Im использованием Postgres 9.1.8
http://www.depesz.com/2012/06/10/why-is-upsert-so-complicated/ –
Может кто-нибудь объяснить, где я использую «CREATE FUNCTION» ? Я могу сделать это в оболочке psql, сделать файл на сервере, использовать его в php? Должен ли я писать функцию для каждой таблицы, которую мне нужно обновить? –