如何使用“重复密钥更新”在 Perl/Catalyst/DBI 中?
也许它对于我在 Catalyst 中的学徒级别来说太高级了,但我需要从原始系统移植一些功能,并且它是使用带有“ON DUPLICATE KEY UPDATE”的自定义查询来完成的。
可以使用模型/架构/结果来完成吗?我需要编写自己的完整查询吗?如何?
原因如下,以防万一:
- 目标表是带有键/值的多语言和多版本首选项表
- 我有 3 个列索引:theKey、theLang 和 theVersion。
- 因此,当我保存 theValue 时,它会使用这些索引更新现有行,或者创建一个新行,如果需要。
Maybe its too advanced for my apprentice level in Catalyst, but I need to port some functionality from the original system, and it is done using custom queries with the "ON DUPLICATE KEY UPDATE".
Can it be done using the Model/Schema/Result? Do I need to write my own FULL query?, how?
Here is the reason, just in case:
- The target table is a multilanguage and multiversion Preferences table with key/value pairs.
- I have 3 column indexes: theKey, theLang and theVersion.
- So, when I save theValue, it updates an existing row using those indexes, or create a new one if needed.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我假设您使用 DBIx::Class 作为数据抽象类?然后您可以使用以下语句:
I am assuming that you are using DBIx::Class as your Data Abstraction class? You can then use the following statement: