トリガー設定時に発生したエラー
MySQLでトリガー作成してデータをINSERTしようとしたらエラー表示されてしまった。
Thread stack overrun: 15200 bytes used of a 131072 byte stack, and 128000 bytes needed. Use 'mysqld --thread_stack=#' to specify a bigger stack.
以下参考に対応。
http://spiri-tua-lism.com/?p=272
「thread_stack」の値を増やせばOK。
環境はローカルのMAMP2.2。MySQLのバージョンは、5.5.33の模様。
# /Applications/MAMP/Library/bin/mysql --version
/Applications/MAMP/Library/bin/mysql Ver 14.14 Distrib 5.5.33, for osx10.6 (i386) using EditLine wrapper
thread_stack書き換え。
thread_stack = 128K
↓
thread_stack = 256K
MAMP再起動。
INSERTクエリ再実行。
もんだいなし。
thread_stackについての詳しい説明はここ。(5.1のドキュメントだけど)
http://dev.mysql.com/doc/refman/5.1/en/server-system-variables.html#sysvar_thread_stack
文中に「The default of 192KB (256KB for 64-bit systems) is large enough for normal operation.」とあるので、256Kで適切かと。
# いろいろ調べた結果、通常はデフォルトでもんだいなし。
MAMP環境の制限が厳しいために起こる模様。
# また、Amazon RDSでは別の原因でトリガが走らない。
その場合は以下参照。
http://oh-sky.hatenablog.com/entry/2013/08/25/202657