【发布时间】:2013-03-25 11:12:57
【问题描述】:
我正在将我的 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
【问题讨论】:
-
有人能解释一下我在哪里使用“CREATE FUNCTION”吗?我是否在 psql shell 中执行此操作,在服务器上创建一个文件,在 php 中使用它?我是否必须为需要更新的每个表编写函数?
标签: php postgresql pdo