1

save() を使用すると、CFWheels を使用する Railo で次のエラーが発生します。

ステートメントを実行できません: BINLOG_FORMAT = STATEMENT であり、少なくとも 1 つのテーブルが行ベースのログ記録に制限されたストレージ エンジンを使用しているため、バイナリ ログに書き込むことができません。トランザクション分離レベルが READ COMMITTED または READ UNCOMMITTED の場合、InnoDB は行ログに制限されます。

これが私のコードです:

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

何が起こっているのか分かりますか?同様の別の挿入ステートメントがあり、正常に動作します。データベーステーブルの設定に関係があると思いますか? 私はMySQLを使用しています。

ありがとう。

4

2 に答える 2

2

この特定の環境でレプリケーションを使用していますか? BINLOG_FORMAT設定はレプリケーションに関連しているようです。

BINLOG_FORMATMySQL で が設定されている場所を調べ、さまざまなオプションが何であるかを調査し、シナリオに適したものに変更することをお勧めします。

このSOの回答を参照してください: 「バイナリログが不可能です」と表示されるのはなぜですか? 私のMySQLサーバーで?

于 2012-07-20T11:46:40.153 に答える
0

データベーステーブルのストレージエンジンを「InnoDB」から「MyISAM」に変更すると、問題が解決したようです。何らかの理由で、CFWheels は "InnoDB" とうまく動作しない可能性があります。おそらく誰かがその理由についてコメントを追加できますか?

于 2012-07-19T20:22:23.020 に答える