问题描述
|
我目前正在重构某些东西以使用Propel。
当前,我们有一个将文本添加到“ history \”字段中的函数,如下所示:
UPDATE tablename
SET history = CONCAT(history,Now(),\"add this text to history\")
WHERE ...;
我们使用CONCAT()函数来使更改变为原子。否则(如果我们先读取字段值然后在PHP中连接并更新该行),则可能会有另一个脚本插入它们之间并修改该字段,然后这些更改将丢失。
如何在Propel中完成此CONCAT(..)?我们正在使用MysqL和MyISAM,因此仅将它们包装在事务中是行不通的。
解决方法
您可以使用Propel执行原始SQL。我认为这不可能以其他方式实现。