-1

我将我的 php 应用程序转换为使用 postgresql 而不是 mysql。

在我使用 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 做同样的事情?

我读过一些文章,但没有人清楚我必须做什么。我需要为此编写触发器或规则吗?

或者如果条目/ID存在,我是否在php中写一个检查,并确定它是否应该更新或创建新的?

我正在使用 postgres 9.1.8

4

1 回答 1

1

http://en.wikipedia.org/wiki/Upsert

您可以通过准备运行合并命令,然后执行它。

我想这应该工作

于 2013-03-25T11:32:25.340 回答