mysqlのmy.cnf(STRICT_TRANS_TABLES)

Movable Tytp は 6.02、DBD::mysql は4.026、に、してある。
複数のサーバーで稼働させているのだが、1台だけ、記事の更新ができなかった。

Failed to execute
 INSERT INTO mt_entry_meta (
entry_meta_entry_id, entry_meta_type, entry_meta_vchar, entry_meta_vchar_idx, entry_meta_vdatetime, entry_meta_vdatetime_idx, entry_meta_vinteger, entry_meta_vinteger_idx, entry_meta_vfloat, entry_meta_vfloat_idx, entry_meta_vblob, entry_meta_vclob
) VALUES (
?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?
)
with entry_id, type, vchar, vchar_idx, vdatetime, vdatetime_idx, vinteger, vinteger_idx, vfloat, vfloat_idx, vblob, vclob: DBD::mysql::st execute failed: Incorrect integer value: '' for column 'entry_meta_vinteger'

というメッセージが表示されてしまうのだな。

とりあえず、
Failed to execute INSERT INTO DBD::mysql::st execute failed: Incorrect integer value
をキーワードにしてググると…いくつか記事が表示されましたっ

その中に共通していたのが、my.cnfの修正。

何でも、「STRICT_TRANS_TABLES」を効かないようにする、らしい。

で。

#sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES 
sql_mode=NO_ENGINE_SUBSTITUTION

と、mycnf を修正し、MySQLを再起動してみたのですな。

はい、うまくいきましたっ

他のマシンではどうなのだろう?
テストはあまりやりたくない。

Author: Kumecchi

コメントを残す