Propel:连接文本和字段内容
我目前正在重构一些东西以使用 Propel。
我们目前有一个函数可以将文本添加到“历史记录”字段,如下所示:
UPDATE tablename
SET history = CONCAT(history, NOW(), "add this text to history")
WHERE ...;
我们使用 CONCAT() 函数来使更改原子化。否则(如果我们之前在某处读取字段值,然后在 PHP 中连接并更新该行),则可能会有另一个脚本介入并修改该字段,然后这些更改就会丢失。
我怎样才能在 Propel 中完成这个 CONCAT(..) ?我们使用 MySQL 和 MyISAM,因此简单地将其全部包装在事务中是行不通的。
I am currently refactoring some stuff to use Propel.
We currently have a function that adds text to a "history" field like this:
UPDATE tablename
SET history = CONCAT(history, NOW(), "add this text to history")
WHERE ...;
We do this using the CONCAT() function to make the change atomic. Otherwise (if we would read the field-value somewhere before and then concatenate within PHP and update the row), it's possible that another script comes in between and modifies the field, and those changes would then be lost.
How can I accomplish this CONCAT(..) in Propel? We're using MySQL and MyISAM, so simply wrapping it all in a transaction won't work.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以使用 Propel 执行原始 SQL。我认为以任何其他方式这是不可能的。
You could execute the raw SQL using Propel. I don't think this is possible in any other way.