Search code examples
mysqlcoldfusionrailocfwheels

CFWheels - Error inserting record with save() method


I get the following error on Railo with CFWheels when using save():

Cannot execute statement: impossible to write to binary log since BINLOG_FORMAT = STATEMENT and at least one table uses a storage engine limited to row-based logging. InnoDB is limited to row-logging when transaction isolation level is READ COMMITTED or READ UNCOMMITTED.

Here's is my code:

<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() />

Any idea what's going on? I have another insert statement that's similar and it works fine. I suspect it's something to do with a seTting in my database table? I'm using MySQL.

Thanks.


Solution

  • Ok, so it seems changing the storage engine on the database table from "InnoDB" to "MyISAM" solved the issue. Perhaps CFWheels doesn't play nicely with "InnoDB" for some reason; perhaps someone could add a comment about why that is?