有没有办法做一个“插入...在Zend Framework 1.5中的重复密钥更新“?
2022-08-30 10:54:13
我想在Zend Framework 1.5中使用,这可能吗?ON DUPLICATE KEY UPDATE
例
INSERT INTO sometable (...)
VALUES (...)
ON DUPLICATE KEY UPDATE ...
我想在Zend Framework 1.5中使用,这可能吗?ON DUPLICATE KEY UPDATE
例
INSERT INTO sometable (...)
VALUES (...)
ON DUPLICATE KEY UPDATE ...
我为Zend工作,专门研究Zend_Db相当多。
否,语法不支持 API。对于这种情况,您必须自己使用并形成完整的 SQL 语句。ON DUPLICATE KEY UPDATE
query()
我不建议像harvejs所示的那样将值插入到SQL中。使用查询参数。
编辑:您可以使用表达式避免重复参数。VALUES()
$sql = "INSERT INTO sometable (id, col2, col3) VALUES (:id, :col2, :col3)
ON DUPLICATE KEY UPDATE col2 = VALUES(col2), col3 = VALUES(col3)";
$values = array("id"=>1, "col2"=>327, "col3"=>"active");
作为侧边栏,您可以使用以下方法简化子句并减少脚本需要执行的处理量:ON DUPLICATE KEY UPDATE
VALUES()
$sql = 'INSERT INTO ... ON DUPLICATE KEY UPDATE id = VALUES(id), col2 = VALUES(col2), col3 = VALUES(col3)';
有关详细信息,请参阅 http://dev.mysql.com/doc/refman/5.1/en/insert-on-duplicate.html。