2011-10-25 73 views
0

也許它對於我在Catalyst的學徒級別來說太高級了,但是我需要從原始系統中移植一些功能,並且使用「ON DUPLICATE KEY UPDATE」中的自定義查詢來完成。如何在Perl/Catalyst/DBI中使用「ON DUPLICATE KEY UPDATE」?

可以使用模型/模式/結果來完成嗎?我是否需要編寫自己的FULL查詢?,怎麼樣?

這裏的原因,以防萬一:

  • 目標表是鍵/值對多語言和多版本偏好表。
  • 我有3列索引:theKey,theLang和版本。
  • 所以,當我保存值時,它使用這些索引更新現有的行,或者如果需要創建一個新的索引。

回答

0

我假設您正在使用DBIx :: Class作爲您的數據抽象類?您可以使用以下語句:

$resultset->update_or_create({ col => $val, ... }); 
相關問題