使用save()时,我在使用CFWheels的Railo上出现以下错误:
无法执行语句:因此无法写入二进制日志 BINLOG_FORMAT = STATEMENT,并且至少有一个表使用存储引擎 仅限于基于行的日志记录。 InnoDB只限于行记录时 事务隔离级别为READ COMMITTED或READ UNCOMMITTED。
这是我的代码:
<cfset params.vote['voteUserID'] = params.link.linkUserID />
<cfset params.vote['voteLinkID'] = params.link.linkID />
<cfset params.vote['voteType'] = 1 />
<cfset vote = model("vote").new(params.vote) />
<cfset vote.save() />
知道发生了什么事吗?我有另一个类似的插入语句,它工作正常。我怀疑这与我的数据库表中的seTting有关吗?我正在使用MySQL。
感谢。
答案 0 :(得分:2)
您是否在此特定环境中使用复制?看起来BINLOG_FORMAT
设置与复制有关。
我建议查找MySQL中设置BINLOG_FORMAT
的位置,研究各种选项的含义,并将其更改为适合您场景的内容。
请参阅此答案:Why do I get 'Binary logging not possible.' on my MySQL server?
答案 1 :(得分:0)
好的,所以它似乎正在改变数据库表上的存储引擎来自&#34; InnoDB&#34;到&#34; MyISAM&#34;解决了这个问题。也许CFWheels并没有很好地与&#34; InnoDB&#34;由于某些原因;也许有人可以添加评论为什么会这样?